zend-framework,从另一个动作助手中调用动作助手

时间:2009-07-12 16:46:47

标签: 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 个答案:

答案 0 :(得分:36)

使用action helper broker

$flashMessenger =
    Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');

答案 1 :(得分:11)

另一种解决方案是:

$flashMessenger = $this->getActionController()->getHelper('FlashMessenger');

答案 2 :(得分:0)

您还可以使用getActionController获取对您通常在那里使用的任何方法所使用的actioncontroller的引用。

答案 3 :(得分:0)

除了mercator的答案,请在之后添加您的方法,请参阅下面的示例:

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

答案 4 :(得分:-1)

您可以这样称呼它:

$this->_actionController->OtherActionHelper();

_actionController属性引用实际的操作控制器。