Zend 2模块中是否需要onBootstrap()?

时间:2015-08-21 09:19:52

标签: php zend-framework zend-framework2

在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中没有提到这一点。

是否有必要在每个模块中实现此功能?如果是,为什么?它的目的是什么?

1 个答案:

答案 0 :(得分:1)

简短的回答:不,没有必要。

ModuleRouteListener是一种使用__MODULE____CONTROLLER__键而不是FQCN指定路由的功能。如果您不需要该功能(大多数情况下都是开发良好的应用程序),则不需要此路由侦听器。

此外,您只需要添加一次,而不是每个模块。

最后一点,只将代码放在onBootstrap()中,这是非常高效的。它会在每次请求时执行,因此如果您做了大量工作,这会显着降低您的应用速度。所以要注意你在那里做的事情!