我正在构建一个基于Action Helper的小部件系统。每个小部件处理段响应以修改渲染视图。 但是,我有一个问题。 的小部件调用一个控制器插件,在preDispatch,就像这样:Zend Framework:我如何拥有一个Action Helper的多个实例?
// $widgets : list of widget to call
foreach($widgets as $segment =>$widget) {
Zend_Controller_Action_HelperBroker::addHelper(
new $widget($segment));
}
这worsk罚款。但是,如果我有两次相同的窗口小部件调用,那么窗口小部件只会调用一次。 例子:
Zend_Controller_Action_HelperBroker::addHelper(
new Menu_Widget($segment=’menu’),
new Menu_Widget($segment =’right’),
);
如果我做了转储检查堆栈:
Zend_Debug::dump(Zend_Controller_Action_HelperBroker::getStack());
我能看到的只是一个时间Menu_Widget这个数组英寸
我怎样才能拥有同一个Action Helper的多个实例?
对不起,我的英语。
这也许[链接](http://weierophinney.net/matthew/archives/246-Using-Action-Helpers-To-Implement-Re-Usable-Widgets.html)会给你一些信息。 – Marcin 2011-03-23 12:20:37