помогите Zend_Registry отбросить ключевой язык - PullRequest
0 голосов
/ 12 августа 2010

не может понять, почему пропадает ключевой язык между языковым плагином и соответствующим пользовательским маршрутом. Я звоню в реестр изнутри модели, которая запрашивается внутри обычного маршрута.

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}  

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

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

1 Ответ

2 голосов
/ 12 августа 2010

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

Из руководства ZF: Плагины

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...