在Zend Framework 2中,如何让一个视图助手可用于多个模块?Zend Framework 2自定义视图助手 - 交叉模块
我想要的是有一些通用功能,如算法功能,可以被多个模块重复使用。
我当前在采埃孚2 2.0.3
谢谢。
在Zend Framework 2中,如何让一个视图助手可用于多个模块?Zend Framework 2自定义视图助手 - 交叉模块
我想要的是有一些通用功能,如算法功能,可以被多个模块重复使用。
我当前在采埃孚2 2.0.3
谢谢。
它很简单,把它放在你的一个模块中。您可以使用ZF2中其他模块的类和函数。因为ZF2中的模块并不仅仅是命名空间,还有一些类。所以,如果你创建一个名称为\Module\View\Helper\MyHelper
的视图助手,你可以简单地在另一个模块中使用视图助手。
除了kokx所说的之外,您还需要为视图助手管理器添加服务管理器配置。这可以通过以下两种方式之一完成:在模块配置中或在Module类中。
// module configuration:
return array(
'view_helpers' => array(
'invokables' => array(
'dimmy' => 'DimmyUtil\View\Helper\DimmyUtil',
),
),
);
,或者在一个模块类:
namespace DimmyUtil;
class Module
{
public function getViewHelperConfig()
{
return array('factories' => array(
'dimmy' => function ($helpers) {
// do some stuff...
return $helper;
}
));
}
}
一旦你这样做,视图助手将在整个组成模块的任何应用程序可用。
这是正确的。如果它只是通用的东西,你可以把它全部放在它自己的模块中(或者分解成更多特定的模块),比如“DimmyUtilModule”。然后,您可以在不同的项目中重新使用该模块。你甚至可以考虑给这个模块自己的存储库,这样你就可以将它带入作曲家的未来项目中。 – timdev
感谢您的帮助!是的,拥有自己的模块是一个很好的建议。问候。 – dimmy