Zend-Framework, вызвать помощник действий из другого помощника действий

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

class Common_Controller_Action_Helper_SAMPLE extends Zend_Controller_Action_Helper_Abstract
{
    protected $_view;
    public function __construct(Zend_View_Interface $view = null, array $options = array())
    {
        $this->_view = $view;
    }

    public function preDispatch()
    {
        $flashMessenger = $this->_helper->FlashMessenger; // IT IS NULL
    }
}

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

Другое решение:

$flashMessenger = $this->getActionController()->getHelper('FlashMessenger');
 25 сент. 2014 г., 22:41
Этот метод на самом деле работает лучше, потому что сgetStaticHelper, затемgetActionController в помощнике возвращаетсяnull

Вы также можете использовать getActionController, чтобы получить ссылку на actioncontroller, который вы использовали для любых методов, которые вы обычно используете там.

Решение Вопроса

Использоватьброкер действий помощник:

$flashMessenger =
    Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
 rahim asgari12 июл. 2009 г., 22:32
это работало отлично. :)

Вы можете назвать это так:

$this->_actionController->OtherActionHelper();

_actionController свойство ссылается на фактический контроллер действия.

 06 сент. 2011 г., 15:40
При попытке использовать этот ответ, я получилUndefined property на моем контроллере. Однако принятый ответ сработал для меня.

В дополнение к ответу mercator добавьте свой метод после, см. Пример ниже:

Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->myMethod();

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