2010-08-12 2 views
0

не может понять, почему ключевой язык исчезает между плагином языка и сопоставлен пользовательский маршрут. Я звоню в реестр из внутренней модели, которая запрашивается внутри маршрута custome.help Zend_Registry drop key lang out

http://pastie.org/1088574

Message: No entry is registered for key 'lang' 
Stack trace: 

#0 C:\xampp\xampp\htdocs\chat\application\models\Getcategories.php(15): Zend_Registry::get('lang') 
#1 C:\xampp\xampp\htdocs\chat\library\Routes\Categories.php(64): Getcategories->__construct() 
#2 C:\xampp\xampp\htdocs\chat\library\Zend\Controller\Router\Rewrite.php(398): Routes_Categories->match('/ru/woman-searc...') 
#3 C:\xampp\xampp\htdocs\chat\library\Zend\Controller\Front.php(911): Zend_Controller_Router_Rewrite->route(Object(Zend_Controller_Request_Http)) 
#4 C:\xampp\xampp\htdocs\chat\library\Zend\Controller\Front.php(212): Zend_Controller_Front->dispatch() 
#5 C:\xampp\xampp\htdocs\chat\application\Bootstrap.php(65): Zend_Controller_Front::run('C:\xampp\xampp\...') 
#6 C:\xampp\xampp\htdocs\chat\public\index.php(34): Bootstrap->run(Array) 
#7 {main} 

Я проверил внутри языка плагин, он регистрирует языки ключа штраф.

Zend_Registry :: get ('lang') внутри маршрута также генерирует исключение.

ответ

2

Убедитесь, что ключ реестра установлен в Plugins_LangSelector::routeStartup(), поэтому он будет зарегистрирован до, обрабатывая маршруты.

От ZF-Manual: Plugins

routeStartup() вызывается до Zend_Controller_Front вызовов на маршрутизаторе для оценки запроса с зарегистрированными маршрутами.

Если вы установили ключ в routeShutdown(), preDispatch(), postDispatch() или dispatchLoopShutdown(), то это будет поздно.

+0

Mate! Спасибо вам большое! Я не знал, что preDispatch не делает это до сопоставления маршрутов. : \ Все работает сейчас. – Somebody

Смежные вопросы