dedlfix: PHP Variablen übergabe in welcher Form sinnvoll?

Beitrag lesen

Tach!

Globale Konstanten sollte man trotzdem eher vermeiden.

Nana. Also $GLOBAL['config']['sonstwas'] nicht. Konstanten nicht ... wie will denn der Herr eine Konfiguration an seine Funktionen übergeben?

Eben so, übergeben. Nicht holen, denn das ist nicht die Aufgabe der Funktion. Sie braucht die Daten aber zum arbeiten. Und damit die Funktion universell ist und nicht von sonstwo definierten Werten abhängig ist, übergibt man alles was benotigt wird explizit.

Soll etwa jedes Objekt die Konfigurationsdatei lesen und was machst Du bei einem, sagen wir mal schlankem, funktionalen 100-Zeiler? Den mit Objekten auf 300 Zeilen aufblasen?

Es kommt nicht auf die Anzahl der Zeilen an, sondern auf die Übersichtlichkeit, die Wartbarkeit und mitunter auch auf die Testbarkeit (im TDD-Sinne). Bei kleinen Projekten kann man vom "Ideal" abweichen. Bei größeren wird es essentiell, dass man nicht ständig im Hinterkopf behalten muss, wer denn nun alles auf eine bestimmte Stelle hingreift, und wie man diese nicht verändern darf, damit noch alles funktioniert. Deshalb verwendet man da am besten Dependency Injection - Abhängigkeiten werden übergeben.

dedlfix.