在Zend Framework 2中,如何为多个模块提供一个视图助手?
我想要的是有一些通用功能,比如算法功能,可以被多个模块重用。
我目前正在使用ZF 2 2.0.3
感谢。
答案 0 :(得分:2)
简单,把它放在你的一个模块中。您可以使用ZF2中其他模块的类和函数。因为ZF2中的模块不仅仅是名称空间,而是包含一些类。因此,如果您创建名为\Module\View\Helper\MyHelper
的视图助手,则可以在另一个模块中使用该视图助手。
答案 1 :(得分:2)
除了kokx所说的内容之外,您还需要为视图助手管理器添加服务管理器配置。这可以通过以下两种方式之一完成:在模块配置中,或在Module类中。
// module configuration:
return array(
'view_helpers' => array(
'invokables' => array(
'dimmy' => 'DimmyUtil\View\Helper\DimmyUtil',
),
),
);
或者,在Module类中:
namespace DimmyUtil;
class Module
{
public function getViewHelperConfig()
{
return array('factories' => array(
'dimmy' => function ($helpers) {
// do some stuff...
return $helper;
}
));
}
}
执行此操作后,视图助手将在组成模块的任何应用程序中可用。