Eine Factory gehört zu den klassischen Design-Pattern
in der objektorientierten Programmierung. Bei einer
Factory handelt es sich um ein Objekt, welches
andere Objekte erzeugt und diese an den Aufrufer zurückliefert.
Die Kapselung der Objekterzeugung in der Fabrik
erlaubt es, Implementierungsdetails zu verbergen.
Die Klasse "form_xmlfactory" erwartet als einzigen Parameter
im Konstruktor den Namen einer XML-Datei, die mittels eines
Expat-Parser ausgelesen werden kann, um ein Formularobjekt zu
erzeugen. Dieses Formularobjekt liefert der Konstruktor als "Rückgabewert".
Kontruktoren liefern als Rückgabewert eine Referenz auf
das erzeugte Objekt. Diese Referenz kann durch eine andere
Referenz ersetzt werden: $this = new bar(); . Vorsicht,
hierbei handelt es sich nicht um eine garantierte Eigenschaft
der Sprache.
| Konstruktor mit Rückgabewert |
Top |
|
<?php class foo { var $name = NULL;
function foo($name) { $this->name = $name; return $name; }
} $f = new foo("foo"); var_dump($f); ?> object(foo)(1) { ["name"]=> string(3) "foo" } <?php class bar { function bar($name) { $this = new foo($name); } } var_dump(new bar("bar")); ?> object(foo)(1) { ["name"]=> string(3) "bar" }
|