Восстановление параметра через начальную загрузку Zend Framework

Я разрабатываю приложение в Zend framework. В моей начальной загрузке есть метод с именем _initRoutes:

public function _initRoutes(){
        $router = $this->_front->getRouter();
        $default = new Zend_Controller_Router_Route(':language/:controller/:action/*',
                        array(
                            'language' => Model_Db_Option::read('site_default_language'),
                            'module' => 'public',
                            'controller' => 'index',
                            'action' => 'index'
                        ),
                        array(
                            'language' => '^[a-z]{2}$*'
                        )
        );
}

Эй, я могу восстановить значение языка в _initRoutes??? Как я могу получить это значение в следующей функции _initLocale

PS. Я знаю, что могу восстановить его как параметр из запроса, но я хочу восстановить его в начальной загрузке.


person José Carlos    schedule 14.06.2011    source источник


Ответы (2)


я использовал это

    $params=@$default->match($this->_front->getRequest()->getRequestUri());
    $lang=$params['language'];
person venimus    schedule 14.06.2011

пытаться

$language = Zend_Controller_Front::getInstance()->getRequest()->getParam('language');

что-то вроде этого, не могу проверить с этого компа

person SMka    schedule 14.06.2011
comment
это, вероятно, не сработает, потому что в начальной загрузке запрос еще не проанализирован (сначала должен быть проанализирован маршрутизаторами, и вы все еще добавляете их), поэтому у вас может не быть никаких параметров - person venimus; 17.06.2011