Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Dostęp do bootstrapa z poziomu pluginu
Forum PHP.pl > Forum > PHP > Frameworki
k0nrad
Witam.
Sugerując się tym artykułem: http://devzone.zend.com/article/3372 postanowiłem odciążyć bootstrap i przerzucić większość jego elementów do pluginu - wrzucając je do routeStartup(), czyli:
  1. public function routeStartup( Zend_Controller_Request_Abstract $request )
  2. {
  3. $this->loadConfig();
  4. $this->initDb();
  5. $this->initDoctype();
  6. // itd
  7. }


Nie wiem jednak jak uzyskać dostęp do obiektu bootstrapu z poziomu tego pluginu. Próbowałem rozwiązania:
  1. $bootstrap = Zend_Controller_Front::getInstance()->getParam( 'bootstrap' )

ale niestety nic z tego.
Czy sama idea rozwiązania jest w porządku ?
Czy może powinienem użyć pluginu opartego na Zend_Application_Resource_ResourceAbstract ? Jeśli tak to w jaki sposób zainicjalizować go ?
zend
Ten artykuł ma ponad 2 lata, korzystaj z Zend_Application, po co chcesz odciążać bootstrap? Masz aż taki traffic, że serwer nie może tego uciągnąć? Pozatym wynajdujesz koło na nowo. Żeby instancja bootstrapu tam była, to najpierw trzeba ją tam ustawić, albo jak sam już napisałeś skorzystać z Zend_Application_Resource_ResourceAbstract
k0nrad
Cytat
Ten artykuł ma ponad 2 lata, korzystaj z Zend_Application, po co chcesz odciążać bootstrap? Masz aż taki traffic, że serwer nie może tego uciągnąć? Pozatym wynajdujesz koło na nowo. Żeby instancja bootstrapu tam była, to najpierw trzeba ją tam ustawić, albo jak sam już napisałeś skorzystać z Zend_Application_Resource_ResourceAbstract


Hmm może trochę źle to ująłem, nie tyle odciążać co utrzymać w nim względny porządek. Chodzi mi o to aby łatwo można było zmieniać zestaw zasobów które ładuję na starcie, bez przekopywania się przez duży bootstrap, bo z czasem zaczął się w nim bałagan robić.

Ostatecznie skorzystałem właśnie z Zend_Application_Resource_ResourceAbstract, dodając własny zasób i inicjując go w application.ini.

Gdyby komuś było potrzebne to najprostsza inicjalizacja (zasób resources/Initialization.php):
Kod
pluginPaths.Resource_ = APPLICATION_PATH "/resources"
resources.Initialization = true


pzdr
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.