2010-10-11 40 views
5

Są to 2 różne implementacje funkcji _init w bootstrapie związanej z ładowaniem widoku.Widok zend: bootstrap (widok) lub bootstrap (układ)

Jeden dostaje na widok od razu: bootstrap('view') następnie pobiera go jako zasób

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

Drugi trwa dłuższą drogę przez układ bootstrap('layout')

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

ja nie chce oceniaj dłuższy kod jako nieefektywny tylko dlatego, że jest dłuższy. Czy jest coś, co dodaje, przechodząc najpierw przez layout zamiast od razu trafiając na view?

Odpowiedz

6

Krótka odpowiedź brzmi: nie, niezupełnie.

Z aplikacją Zend widok $, do którego odnosi się w dowolny sposób, jest tym samym obiektem. Ponieważ układ i widok są ze sobą powiązane, możesz pobrać widok z układu.

Dla twojego własnego rozsądku, pierwszy jest bardziej zwięzły i szybszy do zrozumienia.

0

Firs jeden daje mi:

Fatal error: Uncaught wyjątek 'Zend_Application_Bootstrap_Exception' z komunikatem 'zależność od zasobów Circular wykryte' w /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php on line 662 (!) Zend_Application_Bootstrap_Exception: zależność od zasobów Circular wykryte w /usr/share/php/Zend/Application/Bootstrap/BootstrapAbstract.php on line 662

stosu wywołań

Time Memory Function Location 

1 0,0004 236920 {główny}() ../index.php:0

2 0,0124 1018696 Zend_Application-> ładujący() ../index.php:25

3 0,0124 1018864 Zend_Application_Bootstrap_BootstrapAbstract-> ładujący () ../Application.php:355

4 0,0124 1018896 Zend_Application_Bootstrap_BootstrapAbstract -> _ ładujący() ../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

drugi działa, ale nie wiem dlaczego.

Powiązane problemy