【发布时间】:2011-06-25 00:04:59
【问题描述】:
我有一个自定义控制器操作助手,我希望能够从视图脚本中调用它。我怎样才能做到这一点?
解决办法:
警告:除非您没有使用任何调度挂钩,否则您可能并不真的想从您的视图脚本中调用操作助手。但如果你真的,真的想调用你的动作助手:
$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('Myhelper');
【问题讨论】:
我有一个自定义控制器操作助手,我希望能够从视图脚本中调用它。我怎样才能做到这一点?
警告:除非您没有使用任何调度挂钩,否则您可能并不真的想从您的视图脚本中调用操作助手。但如果你真的,真的想调用你的动作助手:
$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('Myhelper');
【问题讨论】:
Afaik,你不能,你应该不那是 MVC。尝试解决此类问题应该是对您的设计的潜在警告。
但是,在某些情况下,您可能需要实现类似的目标。
例如,flashMessenger() 动作助手旨在提供一种在请求之间共享消息的简单方法,但是它在视图中不可用,您需要手动将其传递给视图。我自己编写了一个包装器,可以用作视图助手。
因此,也许可以尝试更明确地说明您想要实现的目标,我们可能会帮助您了解是否有更好的选择。
【讨论】:
postDispatch() 已经被调用,所以在我的 postDispatch() 代码执行后它不会做任何事情。回到绘图板...