Factory Method
Aus php bar
Eine Factory ist ein Hilfsmittel zur Erzeugung von Objekten. Sie wird verwendet, wenn die zur Generierung des Objekts verwendete Klasse erst zur Laufzeit bekannt ist.
Implementierung
Eine Factory Methode könnte zum Beispiel folgendermaßen aussehen:
1 class Meine_Klasse 2 { 3 static public function factory($className, $params = null) 4 { 5 if (! is_string($className) || ! strlen($className)) { 6 throw new exception( 7 'Die zu ladende Klasse muss in einer Zeichenkette benannt werden'); 8 } 9 10 require_once $className . '.php'; 11 return new $className($params); 12 } 13 } 14 15 $params = array( 16 'param1' => null, 17 'param2' => null, 18 ); 19 20 $object = Meine_Klasse::factory('test_klasse_konkret', $params);
Beispiel aus PEAR::MDB2
In diesem Beispiel ist MDB2::connect() die factory-Methode und liefert ein Datenbank-Verbindungs-Objekt oder im Fehlerfall ein PEAR-Error-Objekt zurück.
1 require_once 'MDB2.php'; 2 3 $dsn = 'pgsql://someuser:apasswd@localhost/thedb'; 4 $options = array( 5 'debug' => 2, 6 'result_buffering' => false, 7 ); 8 9 $mdb2 = MDB2::connect($dsn, $options); 10 if (PEAR::isError($mdb2)) { 11 die($mdb2->getMessage()); 12 } 13 14 // ... 15 16 $mdb2->disconnect();

