Мне нужно получить плагин перед загрузкой маршрутов. я использую routeStartup
а также preDispatch
в плагине, но это не помогает.
class Base_Controller_Plugin_Website extends Zend_Controller_Plugin_Abstract
{
public function routeStartup(Zend_Controller_Request_Abstract $request)
{
Base_Website::setRequest($request);
}
}
Мне нужен метод от Base_Website
,
Самое раннее событие плагина фронт-контроллера — routeStartup, поэтому, если вы хотите выполнить какое-либо действие до этого, вам нужно будет сделать это в Bootstrap.
К сожалению, методы, которые запускаются во время начальной загрузки, не передают вам объекты Request и Response. Вам придется выкопать их самостоятельно. Что-то вроде:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
// all your other _initXXX() bootstrap methods
// etc...
protected function _initSomethingUsingRequest()
{
$this->bootstrap('frontController');
$front = $this->getResource('frontController');
$request = $front->getRequest();
// Now do whatever you want with your Request object
// etc...
}
}
Других решений пока нет …