【发布时间】:2023-03-18 16:41:01
【问题描述】:
我正在构建一个基于 Action Helper 的小部件系统。每个小部件处理段响应以修改呈现视图。 但是,我有一个问题。 这些小部件在 preDispatch 中的控制器插件中调用,如下所示:
// $widgets : list of widget to call
foreach($widgets as $segment =>$widget) {
Zend_Controller_Action_HelperBroker::addHelper(
new $widget($segment));
}
没关系。但是,如果我有两次相同的小部件调用,该小部件将只调用一次。 示例:
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 的多个实例?
对不起我的英语。
【问题讨论】:
-
也许这个link 会给你一些信息。
标签: zend-framework action helper