2010-10-04 11 views

Antwort

26

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:

  1. definieren Komfortfunktionen.
  2. Registrierung von globalen Konstanten.
  3. Definieren zusätzlicher Modell-, Ansichts- und Controllerpfade.
  4. Erstellen von Cache-Konfigurationen.
  5. Flexionen konfigurieren.
  6. Laden von Konfigurationsdateien.

komplette Handbuch geht here

+2

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

+1

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. –

+6

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

5

@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.

+2

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 –

0

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.