Ich mache es ein bisschen anders. Ich habe normalerweise ein globales Anwendungsobjekt (App). Innerhalb dieses Objekt kann ich einige grundlegende Initialisierung wie meine db Erstellen von Objekten, Objekte das Caching usw.
Ich habe auch eine globale Funktion, die die App-Objekt zurückgibt .... also (Anwendungsobjektdefinition nicht dargestellt):
define('APPLICATION_ID', 'myApplication');
${APPLICATION_ID} = new App;
function app() {
return $GLOBALS[APPLICATION_ID];
}
So dann kann ich so etwas wie die überall in jedem folgenden Code verwenden, um Objekte innerhalb des globalen Objekts zu verweisen:
app()->db->read($statement);
app()->cache->get($cacheKey);
app()->debug->set($message);
app()->user->getInfo();
es ist nicht perfekt, aber ich finde es Dinge einfacher in vielen Fällen zu machen.
Benötigen Sie es wirklich für alle anderen Klassen? –
Nicht alle, aber eine erhebliche Menge. –