Благодарю. Получение функциональности во всех контроллерах - это именно то, чего я хочу. Я создал свою собственную библиотеку, но она кажется неуклюжей. Я бы предпочел добавить / удалить плагин и получить функциональность.

м контроллере у меня есть postDispatch для объединения моих сообщений FlashMessenger:

public function postDispatch()
{       
    $messages = $this->_helper->getHelper ( 'FlashMessenger' )
        ->getMessages ();

    if ( $this->_helper->getHelper ( 'FlashMessenger' )
        ->hasCurrentMessages () )
    {
        $messages = array_merge ( $messages, $this->_helper->getHelper ( 'FlashMessenger' )
            ->getCurrentMessages () );
        $this->_helper->getHelper ( 'FlashMessenger' )
            ->clearCurrentMessages ();
    }

    $this->view->alert = $messages;
}

Я хочу сделать это в плагин контроллера.

ОБНОВЛЕНИЕ: я понял, зачем мне это нужно - я хочу передавать свои флеш-сообщения в JSON при вызове контекстом JSON. Если сообщения не добавляются в объект View, я не получаю сообщения.

Мне удалось получить сообщения в массив, но я не знаю, как передать их в представление:

class Plugin_FlashMessenger extends Zend_Controller_Plugin_Abstract
{
    public function postDispatch($request)
    {
        $flashmessenger = Zend_Controller_Action_HelperBroker::getStaticHelper ( 'FlashMessenger' );

        $messages = $flashmessenger->getMessages ();
        if ( $flashmessenger->hasCurrentMessages () )
        {
            $messages = array_merge ( $messages, $flashmessenger->getCurrentMessages () );
            $flashmessenger->clearCurrentMessages ();
        }

        // THIS LINE IS WRONG. HOW DO I SEND $messages TO THE VIEW?
        $this->view->alert = $messages;
    }
}

Бонусный вопрос - это правильный способ сделать это? Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос