Ich denke, es ist am besten, Konstanten für die Konfiguration zu verwenden. Zum Beispiel mit Klassenkonstanten:
%Vor%Wenn Sie PHP 5.3 haben, können Sie diese auch als globale Konstanten definieren:
%Vor%Aber ich denke, das ist weit weniger sauber und geradlinig.
Offensichtlich funktioniert das nur so lange, wie Sie nur Konstanten, d. h. skalare, nicht-Ausdruckswerte speichern. Wenn Ihre Konfiguration beispielsweise Arrays enthält, wird dies nicht mehr funktionieren. In diesem Fall würde ich eine Config-Klasse mit öffentlichen statischen Eigenschaften verwenden:
%Vor% Letzteres ist dem $config
-Array-Ansatz sehr ähnlich, hat aber den Vorteil (oder kann dies ein Nachteil sein?), dass die Klasse von überall her einschließlich Funktionen und Klassen zugänglich ist, während das Array nur im globalen Zugriff verfügbar ist Leerzeichen, es sei denn, Sie importieren es in Funktionen / Klassen mit global $config;
.
Entweder wird gut funktionieren, tun Sie das, was Sie am wohlsten fühlen.
Am besten speichern Sie Ihre Einstellungen in einer Datei. und um diese Datei zu manipulieren, deklariere eine Klasse, die Operationen für Datei
ausführtMeine zwei Cent: Verwenden Sie beide. Die meisten Anwendungskonfigurationseinstellungen gehören zu einer globalen Array-Variablen. Auf Konfigurationsdaten muss von verschiedenen Anwendungsteilen aus zugegriffen werden können, und dafür stehen globale Variablen. Und es ist am sinnvollsten, alles in einem Array zusammen zu halten. Ein Array kann erweitert werden, z.B. einige Optionen in einer config.php und der Rest zum Beispiel aus einer config.ini gelesen.
Aber es gibt auch einen Platz für KONSTANTEN. Die feine zu zeichnende Linie ist, wenn eine Option wirklich etwas ist, das sich während der Laufzeit der Anwendung ändern könnte, oder wenn es sich eher um einen festen / magischen Wert handelt. Wenn einmal eingerichtet, sollten Sie eine Anwendung Einstellung nicht ändern (oder Rendering möglicherweise fehlschlagen), dann sollte diese Option nicht im Array sein, aber semantisch als Konstante festgelegt. (Das ist eine interpretative Faustregel, aber diente mir gut.)
Wenn die Projekteinstellungen zu schwer sind, ist die Datei (xml ist besser) gut und eine dedizierte Klasse für Einstellungen ist auch gut.
Wenn die Projekteinstellungen klein sind, ist das Array am besten, es ist sehr schnell und es wird kein I / O-Problem auftreten.
Auch Sie können Datenbank (langsamer und Auth-Problem) verwenden.
Ich neige dazu, Konfigurationswerte zu setzen, auf die nur global in einem Konfigurationsarray zugegriffen wird, und Werte zu definieren, auf die überall zugegriffen wird. Zum Beispiel:
inc / config.php
%Vor%inc / init.php
%Vor%somefile.php
%Vor%Denken Sie daran, dieses Beispiel ist abgespeckt, um eine Idee zu demonstrieren.
Tags und Links configuration class php oop