2010-10-11 7 views
5

Voici deux implémentations différentes pour une fonction _init dans le bootstrap liée à l'amorçage de la vue.zend view: bootstrap (voir) ou bootstrap (layout)

On obtient à la vue tout de suite: bootstrap('view') obtient alors comme une ressource

$this->bootstrap('view'); 
$view = $this->getResource('view'); 
$view->doctype('XHTML1_STRICT'); 

L'autre prend une route plus longue à travers la mise en page bootstrap('layout')

$this->bootstrap('layout');   
$layout = $this->getResource('layout'); 
$view = $layout->getView(); 
$view->doctype('XHTML1_STRICT'); 

Je ne veux pas juger le code plus long comme inefficace juste parce que c'est plus long. Y at-il quelque chose qu'il ajoute en passant par le layout d'abord au lieu de frapper le view tout de suite?

Répondre

6

La réponse courte est non, pas vraiment.

Avec Zend Application, la vue $ référencée dans les deux cas est le même objet. Comme la mise en page et la vue sont intrinsèquement liées, vous pouvez récupérer la vue à partir de la mise en page.

Pour votre propre santé, le premier est plus concis et plus rapide à comprendre.

0

Firs me donne:

Erreur fatale: Uncaught exception 'de Zend_Application_Bootstrap_Exception' avec le message 'dépendance des ressources circulaire détectée' dans /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php en ligne 662 (!) Zend_Application_Bootstrap_Exception: la dépendance des ressources circulaire détectée dans /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php sur la ligne 662

Appel Stack

Time Memory Function Location 

1 236 920 0,0004 {principal}() ../index.php:0

2 0,0124 1018696 Zend_Application-> bootstrap() ../index.php:25

3 0,0124 1018864 Zend_Application_Bootstrap_BootstrapAbstract-> bootstrap () ../Application.php:355

4 0,0124 1018896 Zend_Application_Bootstrap_BootstrapAbstract -> _ bootstrap() ../BootstrapAbstract.php:586

5 0,0125 1022112 Zend_Application_Bootstrap_BootstrapAbstract -> _ executeResource() ../BootstrapAbstract.php: 622

6 0,0126 1022848 Bootstrap -> _ initView() ../BootstrapAbstract.php:669

7 0,0126 1023208 Zend_Application_Bootstrap_BootstrapAbstract-> bootstrap() ../Bootstrap.php:7

8 0,0126 1023208 Zend_Application_Bootstrap_BootstrapAbstract-> _bootstrap() ../BootstrapAbstract.php:586

9 0,0126 1023208 Zend_Application_Bootstrap_BootstrapAbstract -> _ executeResource() ../BootstrapAbstract.php:629

Le second travaille mais je ne sais pas pourquoi.

Questions connexes