2012-03-24 5 views
11

In der sceleton Anwendung, die ich von Github heruntergeladen haben, ist es eine Datei Modul/Application/config/module.config.phpZF2: Wie implementiert man verschiedene Konfigurationen für Produktion, Staging usw.?

return array(
    'layout'    => 'layout/layout.phtml', 
    'display_exceptions' => true, 
    'di'     => array(
     'instance' => array(
     'alias' => array(.... 

diese Datei im Modul/Application/module.php verwendet wird:

public function getConfig() 
{ 
    return include __DIR__ . '/config/module.config.php'; 
} 

Wie 3 verschiedene Konfigurationen je nach Domäne erstellen (Produktion, Staging, Entwicklung)? Es scheint in ZF1 env vars verwendet worden zu sein, aber ich weiß nicht, wie man das im zf2 Modul macht. Vielen Dank!

Antwort

4

es scheint mit einer einfachen .htaccess Änderung zu arbeiten. :

SetEnv APPLICATION_ENV development 

Ich weiß nicht, ob Inszenierung funktioniert, aber Produktion und Entwicklung arbeiten aus der Box. Ich denke, es funktioniert durch den Event-Listener, aber frag mich nicht, wie weit ich noch nicht gekommen bin.

9

Erstellen Sie eine Datei namens development.config.php in application/config/autoload und diese wird geladen, nachdem alle Konfigurationsdateien der Module geladen wurden. Daher können Sie die zusammengeführte Konfiguration überschreiben, indem Sie der Datei die entsprechenden Schlüssel hinzufügen.

Der Name der geladenen Datei {APPLICATION_ENV}.config.php ist, so dass Sie production.config.php erstellen usw.

Beachten Sie, dass in index.php die glob ändern müssen können, da es unklar ist, ob die Skeleton-Anwendung mit aus der Box funktioniert APPLICATION_ENV oder noch nicht in dieser Phase der Entwicklung von ZF2 (Anfang April 2012).

Verwandte Themen