mixed DB_DataObject::factory (
string $table
)
C'est la façon recommandée pour charger automatiquement une classe, et l'instancier. La classe est chargée, en se basant sur les options de configuration (class_location et class_prefix) pour le nommage de la classe.
string $table - la table que vous voulez charger. ([Depuis la version 1.7.2] si ce paramètre est vide, et appelé sur une instance d'un objet de données, la méthode créera une nouvelle instance de cet objet.
object mixed - DB_DataObject_Error ou l'objet.
Code erreur | Message d'erreur | Signification | Solution |
---|---|---|---|
DB_DATAOBJECT_ERROR_NOCLASS | "could not autoload $class" |
Cette méthode peut être appelée statiquement ou dynamiquement.
Récupération simple de données basées sur la clé primaire
<?php
// Configuration de nos options
$opts = &PEAR::getStaticProperty('DB_DataObject','options');
$opts = array(
'class_location' => '/home/me/Projects/myapplication/DataObjects',
'class_prefix' => 'DataObjects_'
);
// Chargement du fichier : /home/me/Projects/myapplication/DataObjects/Person.php
// et vérifie si la classe DataObjects_Person existe, et retourne une instance de celle-ci.
$person = DB_DataObject::factory('person');
if ($person->get(12)) {
print_r($person);
} else {
echo "NO person 12 exists";
}
// Elle peut également être appelée dynamiquement
class DataObjects_MyTable {
function anExample() {
$person = $this->factory('person');
// supporté en version 1.7.2
$another_mytable = $this->factory();
$another_person = $person->factory();
}
}
?>