$GLOBALS oder Static für Konfigurationen?
bearbeitet von
Hello,
> um Konfigurationen in einem _Framework_ zu setzten, kann man ein Superglobale assoziatives Array verwnden `$GLOBALS` oder eine Klasse `Config::get()` - mein Wissensstand.
Man kann inzwischen auch Array of Const benutzen.
Was man bentutzen, hängt immmer davon ab, ob die Konfiguration während der Laufzeit verändert werden darf, oder nicht.
> [...] bei einem Superglobalen assoziativem Array wie `$SESSION` oder `$SERVER`
Die heißen `$_SESSION` und `$_SERVER`.
Ich bevorzuge es, die Konfiguration in leicht lesbaren [INI-Dateien](https://wiki.selfhtml.org/wiki/PHP/Anwendung_und_Praxis/INI-Datei_aus_einem_Array_erstellen) extern abzuspeichern und in den Modulen, in denen darauf zugegriffen werden soll, einen hart codierten Vorgabewert einzusetzen für den Fall, dass der Konfigurationsparameter fehlt.
Den den Zugriff auf die Konfigurationsparamter mit einem Getter zu schützen, macht das Ganze Skript lesbarer und etwas sicherer gegen unbeabsichtigte Veränderung.
Ob man dann Veränderungen trotzdem zurückschreiben lässt in die Konfigurationsdateien muss der Einzelfall ergeben. Diese Möglichkeit würde Programme allerdings "lernfähig" machen.
Liebe Grüße
Tom S.
--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.
$GLOBALS oder Static für Konfigurationen?
bearbeitet von
Hello,
> um Konfigurationen in einem _Framework_ zu setzten, kann man ein Superglobale assoziatives Array verwnden `$GLOBALS` oder eine Klasse `Config::get()` - mein Wissensstand.
Man kann inzwischen auch Array of Const benutzen.
Was man bentutz, hängt immmer davon ab, ob die Konfiguration während der Laufzeit verändert werden dar, oder nicht.
> [...] bei einem Superglobalen assoziativem Array wie `$SESSION` oder `$SERVER`
Die heißen `$_SESSION` und `$_SERVER`.
Ich bevorzuge es, die Konfiguration in leicht lesbaren [INI-Dateien](https://wiki.selfhtml.org/wiki/PHP/Anwendung_und_Praxis/INI-Datei_aus_einem_Array_erstellen) extern abzuspeichern und in den Modulen, in denen darauf zugegriffen werden soll, einen hart codierten Vorgabewert einzusetzen für den Fall, dass der Konfigurationsparameter fehlt.
Den den Zugriff auf die Konfigurationsparamter mit einem Getter zu schützen, macht das Ganze Skript lesbarer und etwas sicherer gegen unbeabsichtigte Veränderung.
Ob man dann Veränderungen trotzdem zurückschreiben lässt in die Konfigurationsdateien muss der Einzelfall ergeben. Diese Möglichkeit würde Programme allerdings "lernfähig" machen.
Liebe Grüße
Tom S.
--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.