In welcher Datei sollte ich anwendungsweite Konstanten definieren, die spezifisch für meine CakePHP App sind?wo definiert man Konstanten in CakePHP
Antwort
Ich sehe sie in app/config/bootstrap.php
Bootstrapping CakePHP
Wenn Sie weitere Konfigurationsanforderungen haben, verwenden Sie CakePHPs Bootstrap-Datei gefunden, in app/Config/bootstrap.php. Diese Datei wird direkt nach dem Core Bootstrapping von CakePHP ausgeführt.
Diese Datei ist für eine Reihe von gemeinsamen Bootstrapping Aufgaben ideal:
- definieren Komfortfunktionen.
- Registrierung von globalen Konstanten.
- Definieren zusätzlicher Modell-, Ansichts- und Controllerpfade.
- Erstellen von Cache-Konfigurationen.
- Flexionen konfigurieren.
- Laden von Konfigurationsdateien.
komplette Handbuch geht here
@travis:
Ich denke, es ist besser, die configs-Datei zu verwenden (und Klasse konfigurieren) für solche dev/staging Sachen
die Bootstrap mehr ist wie das "general" mehr hardcoded stuff - alle app configs zusammen die configs sind die "variant" config arrays.
nur meine 5 Cent.
Link zur Dokumentation der Configure-Klasse: http://book.cakephp.org/2.0/en/development/configuration.html#configure-class Link zu Beispielkonfigurationsdatei: http://book.cakephp.org/2.0/en/development/configuration.html#PhpReader –
Es gibt eine andere Möglichkeit, Konstanten in einer externen Datei zu setzen, außer in langen Dateien wie bootstrap (wenn es nicht auf Verhaltensweisen wie editierbare Pdf-Konstanten wirkt).
Es könnte von der Ansicht, Controller oder Modell abgerufen werden:
Configure::load('PDF_CONSTANT_FILE');
echo THE_CONSTANT;
// PDF_CONSTANT_FILE set in app/config/PDF_CONSTANT_FILE.php
Hinzufügen $ config = array(); zu PDF_CONSTANT_FILE.php Datei beim Start ist notwendig.
Nur für den allgemeinen Nutzen.
- 1. CakePHP Definieren von Konstanten
- 2. Konstanten in Template-Klassen definiert
- 3. Wo und wie definiert man Konstante in Symfony?
- 4. Wie definiert man Variablen und Konstanten für ein Linux-Benutzerkonto?
- 5. Wo sind Unix errno Konstanten in Rust?
- 6. Wie definiert man Konstanten in Visual C# wie #define in C?
- 7. Konstanten DL und Fiddle ist nicht definiert
- 8. Wo ist Enum.values () definiert?
- 9. Wo ist GL_MULTISAMPLE definiert?
- 10. Wo ist __dso_handle definiert?
- 11. Wo _NFILE ist definiert
- 12. Wo ist com.intellij.modules.lang definiert
- 13. Wo sind die Request-Methode Konstanten in der Servlet-API?
- 14. Wo definiert man den Nginx-Prozessnamen (nginx) in Quellen?
- 15. CakePHP - wo Service-Logik setzen
- 16. Wann sollten Konstanten in ihren eigenen Dateien definiert werden?
- 17. CakePHP finden, wo nicht gleich
- 18. Wo ist CakePHP clientseitige Formularvalidierung?
- 19. CakePHP 3: findById wo größer als 0
- 20. Wo PL/SQL-Konstanten zu halten?
- 21. Wie definiert man eine statische Konstante mit zuvor definierten Konstanten in C?
- 22. Schienen: Wo ist "params" definiert?
- 23. Wo ist Namespace std definiert?
- 24. Wie und wo definiert man eine Umgebungsvariable auf Azure
- 25. Wo ist "id" literal definiert?
- 26. Wo ist SHA256_Update() in openssl/crypto definiert?
- 27. Wo ist == Operator in Klasse "Objekt" definiert?
- 28. Wo ist $ {body_statement} in Eclipse definiert
- 29. Wo ist ptrdiff_t in C definiert?
- 30. Wo sind die Standardaliasnamen in PowerShell definiert?
Danke .. Das Buch sagt "Diese Datei ist ideal für eine Reihe von allgemeinen Bootstrapping-Aufgaben ... (einschließlich) Registrierung von globalen Konstanten", so denke ich, das ist der Ort! – Tomba
Als Randnotiz muss es nicht nur Konstanten sein. Zum Beispiel verwende ich einen Dev/Staging-Server und möchte daher bei bestimmten Aktionen nicht immer E-Mails auslösen. Häufig schreibe ich eine Variable in die Bootstrap-Datei, mit der ich Features in der gesamten App ein- und ausschalten kann. –
Da bootstrap.php, core.php und database.php aus dem/config-Ordner normalerweise nicht unter Versionskontrolle stehen - aufgrund von localhost/live-Unterschieden in diesen Dateien würde ich vorschlagen, Ihre Konstantengruppe in/webroot/index zu definieren. php - oder vielmehr, erstellen Sie dort einen Haken, um eine neue Datei aufzunehmen, die Sie in/config zB ablegen "/config/constants.php" - das ist unter Versionskontrolle, so dass alle Entwickler Updates für diese Datei erhalten. Fügen Sie es in Ihre index.php ein, z. kurz vor dem!Definierte Zeile ("WEBROOT_DIR") oder nach dem Bootstrap eingefügt wurde – LenArt