Zend-Framework, вызвать помощник действий из другого помощника действий - PullRequest
21 голосов
/ 12 июля 2009

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

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 ]

36 голосов
/ 12 июля 2009

Используйте action helper broker :

$flashMessenger =
    Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
11 голосов
/ 25 октября 2011

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

$flashMessenger = $this->getActionController()->getHelper('FlashMessenger');
0 голосов
/ 24 февраля 2015

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

Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger')->myMethod();
0 голосов
/ 24 ноября 2009

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

$this->_actionController->OtherActionHelper();

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

0 голосов
/ 13 июля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...