【问题标题】:Zend Framework: How to call a controller action helper from a view script?Zend Framework:如何从视图脚本中调用控制器动作助手?
【发布时间】:2011-06-25 00:04:59
【问题描述】:

我有一个自定义控制器操作助手,我希望能够从视图脚本中调用它。我怎样才能做到这一点?

解决办法:

警告:除非您没有使用任何调度挂钩,否则您可能并不真的想从您的视图脚本中调用操作助手。但如果你真的,真的想调用你的动作助手:

$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('Myhelper');

【问题讨论】:

    标签: zend-framework zend-view


    【解决方案1】:

    Afaik,你不能,你应该那是 MVC。尝试解决此类问题应该是对您的设计的潜在警告。

    但是,在某些情况下,您可能需要实现类似的目标。

    例如,flashMessenger() 动作助手旨在提供一种在请求之间共享消息的简单方法,但是它在视图中不可用,您需要手动将其传递给视图。我自己编写了一个包装器,可以用作视图助手。

    因此,也许可以尝试更明确地说明您想要实现的目标,我们可能会帮助您了解是否有更好的选择。

    【讨论】:

    • 好答案。我刚刚意识到我试图做的事情无论如何都行不通。我试图在我的布局中调用一些动作辅助函数,但 postDispatch() 已经被调用,所以在我的 postDispatch() 代码执行后它不会做任何事情。回到绘图板...
    • 有没有机会将该 FlashMessenger 视图助手添加到您在 github 上的出色 bgylibrary 中? ;-)
    • 嗨,大卫,谢谢 :),我刚刚在 github 上推送了 view helper。用法尚未记录,但它非常简单,它只是 flashmessenger 动作助手的包装。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 2013-01-21
    相关资源
    最近更新 更多