DB_DataObject::factory() -- Chargement automatique et instanciation d'une classe, basée sur le nom d'une table
Description
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.
Paramètres
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.
Note
Cette méthode peut être appelée statiquement ou dynamiquement.
Exemple
Exemple 39-1. 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();
}
}
?>
|
|