31 pers. connectées au site
Manuel Pear
DB_DataObject::factory()
DB_DataObject::factory() -- Chargement automatique et instanciation d'une classe, basée sur le nom d'une table
Synopsis
mixed DB_DataObject::factory ([string $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.
Valeurs renvoyées
Tableau 39-1. Valeurs PEAR_Error possibles
| Code erreur |
Message d'erreur |
Signification |
Solution |
| DB_DATAOBJECT_ERROR_NOCLASS |
<< could not autoload $class >> |
|
|
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
- $opts = &PEAR::getStaticProperty('DB_DataObject','options');
- $opts = array(
- 'class_location' => '/home/me/Projects/myapplication/DataObjects',
- 'class_prefix' => 'DataObjects_'
- );
-
-
- $person = DB_DataObject::factory('person');
-
- if ($person->get(12)) {
- print_r($person);
- } else {
- echo "NO person 12 exists";
- }
-
- class DataObjects_MyTable {
-
- function anExample() {
- $person = $this->factory('person');
-
-
- $another_mytable = $this->factory();
-
- $another_person = $person->factory();
-
- }
- ?>
|
Remonter