dedlfix: Platzhalter in MySQL Funktionen

Beitrag lesen

Tach!

Aber der Autor übersieht, dass seine Regel nicht verbietet, dass vor Methodenaufrufen Werte an Felder zugewiesen werden können und dürfen.

Konkret geht es hier um die Konstruktror-Methode. Und ja, man kann Werte vordefinieren. Und, wie der Autor schrieb, die Aufgabe des Konstruktors ist ebenfalls Initialisierung.

Für den PDO Einsatz ist die Idee tatsächlich clever und mbMn auch sinvoll. Der Konstruktor kann genutzt werden, falls die geladenen Daten noch ergänzt werden sollen.

Das ist dann aber keine Initialisierung mehr, sondern schon Datenverarbeitung. Also eigentlich keine Aufgabe für den Konstruktor.

Zudem ist das ein verdecktes Verhalten, wenn die Daten aus dem DBMS nachträglich verändert werden. An der Stelle des fetchObject-Aufrufs sieht man die Manipulation nicht, wenn man nicht weiß, was der Konstruktor macht.

Diesen Ablauf mit PHP-Sprachmitteln nachzuahmen (d.h. erst Objekt erzeugen, dann ein paar Werte zuweisen und danach erst den Konstruktor laufen lassen) dürfte aber nicht gehen.

Eben. Das ist ein abweichendes Verhalten vom Üblichen. Die Werte der Eigenschaften werden nicht von der Klasse initialisiert, sondern von außen gesetzt.

dedlfix.