2010-12-30 6 views
1

Ich bin verwirrt über die verschiedenen Möglichkeiten, ZF Bootstrap: zum Beispiel kann ich dies tun in application.ini:ZEND Rahmen application.ini und Bootstrapping

resources.view.encoding = "UTF-8" 

und dann kann ich praktisch das gleiche tun? in bootstrap.php Datei:

protected function _initView(){ 
$view = new Zend_View();  
$view->setEncoding('UTF-8'); 
$viewRenderer =Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer'); 
$viewRenderer->setView($view); 
return $view; 
} 

1) Sind diese Methoden praktisch gleich? oder arbeiten sie anders im Hintergrund?


2) Gibt es einen Grund, einen über den anderen zu wählen (ich nehme an, dass es muss ....)?

Antwort

4

Die application.ini verwendet die Resource Plugins, während die Bootstrap-Klasse einfache Objekte initialisiert. Ich sehe den Vorteil von Ressourcenladeprogrammen gegenüber einer anwendungs-/modulspezifischen Bootstrap-Klasse in der Wiederverwendbarkeit.

Wenn Ihre Bootstrap-Klassen immer gleich aussehen, sollten Sie in Betracht ziehen, einen Ressourcenlader zu schreiben, der das tut. Es ist auch einfacher und benutzerfreundlicher zu konfigurieren (und Sie können auch beide Ansätze mischen).

+1

Ganz zu schweigen von der integrierten Umgebung (Dev/Test/Prod) Switching und Vererbung in Zend_Config – Phil

+0

, aber - ich verstehe nicht, wie diese Einstellungen angewendet werden. Was ist, wenn ich in der Datei application.ini und bootstap verschiedene Einstellungen vorschlage (wie zum Beispiel die obigen Kodierungen). Welcher wird angewendet? – Stann

+3

@Andre Aus dem Speicher werden die Bootstrap '_init *' - Methoden nach den Plugins der Anwendungsressourcen ausgeführt. Außerdem denke ich (dies mag stimmen oder auch nicht), wenn Ihre init-Methode dasselbe heißt wie ein Ressourcen-Plugin (zB "view", "db", "layout", etc.), wird es anstelle des Plugins – Phil