Zend, Globalen Variablen in der Anwendung.ini?
Ich habe eine Frage ich muss eine Globale variable, und ich habe eine Frage, ist jede Möglichkeit, um es in die Anwendung.ini-Datei, wie es zu tun?
Oder ich:
- Erstellen abstrakte Klasse mit statischen Variablen,
- Registrieren Sie es in der Zend_Registry, um Zugriff auf diese variable von allen-Anwendung (Registrieren es in der Bootstrap-Datei)
- Ich es verwenden kann oder es einfacher ist, ich meine "automatische Weg" zu tun?
Dank für die Beratung!
Regars,
- Die Konfigurationsdateien sind dazu gedacht, um verwendet werden, um Parameter festzulegen, die als Eingänge für Ihre Anwendung. Sollten Sie nicht das hinzufügen von etwas programmgesteuert
Du musst angemeldet sein, um einen Kommentar abzugeben.
in der Anwendung.ini-Datei
in der bootstrap -
ziehen aus der Registrierung
Für mich die beste Lösung war, um eine variable zu erstellen, in index.php Datei. Ich habe Hinzugefügt:
defined('VARIABLE_NAME')
|| define('VARIABLE_NAME', 'Etwas hier');
Und jetzt kann ich den Zugang, um es von überall ;D
Vielen Dank!
Ich würde nicht mit dem Zend_Registry noch Konstanten, aus zwei Gründen
Was die beste option ist es, direkt den config-Objekt aus dem bootstrap. In den nächsten Beispielen, ich nehme an, Sie haben dies in Ihrer Anwendung.ini:
Bootstrap gesetzt, die als parameter in den frontController. Wenn Sie einen action controller, das macht es so einfach:
Wenn Sie einen Dienst instanziiert in Ihrem controller, können Sie jetzt geben Sie auf durch den Konstruktor und/oder setter.
Wenn Sie möchten, um die Optionen, die nicht in Ihrem controller, sondern irgendwo anders, können Sie das singleton-Muster, das der frontController implementiert. Also an einem beliebigen Ort (natürlich nur bei Versand, nicht bei den bootstrap selbst), sind Sie in der Lage, dies zu tun:
Mit der oben genannten Methode bist du sicher Sie haben immer die richtige Konfiguration option und nicht eine möglicherweise mutierte einer.
Können Sie festlegen, Wert in der Anwendung.ini und in der Bootsrap.php Lesen Sie es und speichern Sie in Zend_Registry. Sie können auch verwenden, PHP define-Methode zum erstellen von Konstanten (wenn Sie nachweislich konstant ist).
Habe ich nur noch define('VARIABLE_NAME', 'Etwas hier'); bootstrap.
Sofortige Globale Konstanten.
Diese Konstanten abgelegt wurden, innerhalb eines geschützten _intiFuncName Funktion innerhalb der bootstrap extends Klasse
Habe ich eine Reihe von Konstanten, die mit der folgenden Namenskonvention in der Anwendung.ini:
Und ich nur referenzieren Sie in meinem code, als wären Sie PHP-Konstanten: