在Zend 2 skeleton application中,应用module.php
包含onBootstrap()
函数:
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
}
...
然而,模块创建documentation中没有提到这一点。
是否有必要在每个模块中实现此功能?如果是,为什么?它的目的是什么?
答案 0 :(得分:1)
简短的回答:不,没有必要。
ModuleRouteListener是一种使用__MODULE__
和__CONTROLLER__
键而不是FQCN指定路由的功能。如果您不需要该功能(大多数情况下都是开发良好的应用程序),则不需要此路由侦听器。
此外,您只需要添加一次,而不是每个模块。
最后一点,只将代码放在onBootstrap()
中,这是非常高效的。它会在每次请求时执行,因此如果您做了大量工作,这会显着降低您的应用速度。所以要注意你在那里做的事情!