dedlfix: Instanz Klassen Objekte vorab mit statischen variablen der Klasse konfigurieren für welche Szenarien Sinnvoll.

Beitrag lesen

Tach!

ich möchte wissen, ob man die Klasse Foo, aus der eine Instanz erzeug wird (z.B. $foo = new Foo( $fuz )), vorab mit statischen Methoden Foo::bar( $baz ) dieser Klasse Foo konfigurieren soll, bevor die Klasse Foo instanziiert wird. Man erspare sich einen zweiten Parameter bei der Instanziierung von Foo (z.B. $foo = new Foo( $fuz, $baz )).

Wenn du erst einen Konfigurationsschritt ausführen muss, um die Instanzen korrekt erzeugen zu können, dass ist das kein gutes Design. Du musst nämlich dann von diesem notwendigen Schritt wissen. Und er darf in keinem Fall vergessen werden, egal welchen Weg der Code nimmt. Du wirst den Schritt dann in eine gemeinsame Initialisierungsroutine einfügen wollen. Und er wird jedes Mal ausgeführt, auch wenn du gar keine Instanzen der Klasse brauchst. Folge ist auch, dass der Autoloader die Klasse umsonst laden muss. Wenn der Parameter stattdessen unverzichtbarer Bestandteil beim Instantiieren ist, kann er nicht vergessen werden und auch die anderen genannten Nachteile fallen weg. Das bisschen eingesparte Mehrarbeit bei einmaliger Initialisierung ist die Risiken und die Nachteile nicht wert.

dedlfix.