Ich habe gerade define hinzugefügt ('VARIABLE_NAME', 'Etwas hier'); Bootstrap. Sofortige globale Konstanten.
Diese Konstanten wurden innerhalb einer geschützten _intiFuncName-Funktion innerhalb der Bootstrap-extends-Klasse platziert
Ich habe eine Frage, wie ich eine globale statische Variable haben muss und ich habe Frage ist irgendeine Möglichkeit, es zu der application.ini Datei hinzuzufügen, wie man es macht?
Oder ich muss:
Danke für den Rat! Regars,
Die beste Lösung für mich war, eine Variable in der Datei index.php zu erstellen. Ich habe hinzugefügt: definiert ('VARIABLE_NAME') || definiere ('VARIABLE_NAME', 'Etwas hier');
Und jetzt kann ich von überall her darauf zugreifen; D Vielen Dank!
Ich würde die Zend_Registry-Konstanten aus zwei Gründen nicht verwenden
Die beste Option besteht darin, das config-Objekt direkt vom Bootstrap abzurufen. In den nächsten Beispielen gehe ich davon aus, dass Sie dies in Ihrer application.ini haben:
%Vor%Der Bootstrap wird als Parameter im frontController eingestellt. Wenn Sie einen Action-Controller haben, macht es das so einfach:
%Vor%Wenn Sie einen Dienst in Ihrem Controller instanziiert haben, können Sie ihn nun über den Konstruktor und / oder den Setter übergeben.
Wenn Sie die Optionen nicht innerhalb Ihres Controllers, sondern irgendwo anders erhalten möchten, können Sie das Singleton-Muster verwenden, das von FrontController implementiert wird. An jedem Ort (natürlich nur während des Versands, nicht während des Bootstraps selbst) können Sie dies tun:
%Vor%Mit der obigen Methode sind Sie sicher, dass Sie immer die richtige Konfigurationsoption haben und nicht eine möglicherweise mutierte.
Sie können einen Wert in der application.ini und in der Bootsrap.php angeben und in Zend_Registry speichern. Sie können auch PHP define Methode verwenden, um Konstanten zu erstellen (wenn Sie veriable ist konstant).
Ich habe gerade define hinzugefügt ('VARIABLE_NAME', 'Etwas hier'); Bootstrap. Sofortige globale Konstanten.
Diese Konstanten wurden innerhalb einer geschützten _intiFuncName-Funktion innerhalb der Bootstrap-extends-Klasse platziert
Ich habe eine Reihe von Konstanten mit der folgenden Namenskonvention in application.ini:
%Vor%Und ich referenziere sie einfach in meinem Code, als wären sie PHP-Konstanten:
%Vor%Tags und Links global-variables zend-framework