Вы можете расширить Zend_Controller_Action:
public class My_Controller_Action extends Zend_Controller_Action
{
public function init()
{
$this->view->user = Zend_Auth::getInstance()->getIdentity();
$this->view->siteName = Zend_Registry::get('config')->site->name;
$this->view->menu = $this->_helper->generateMenu(Zend_Auth::getInstance()->getIdentity());
$this->view->slogan = Zend_Registry::get('config')->site->slogan;
}
}
Тогда вы просто меняете свои контроллеры, чтобы расширить My_Controller_Action, а не Zend_Controller_Action. Просто имейте в виду, что если вам нужно добавить дополнительный код в метод init контроллера, вам также нужно будет вызвать parent :: init ():
public class FooController extends My_Controller_Action
{
public function init()
{
parent::init();
// Do something.
}
public function IndexAction()
{
// ...
}
}