getServiceLocator()在module.php中不起作用

时间:2013-09-17 08:43:01

标签: zend-framework2

我正在使用Zend Framework2 MongoDB ODM身份验证进行身份验证,我必须将Authentication的对象传递给Module.php中的会话变量以进行会话,但我得到错误“致命错误:在不在对象上下文中时使用$ this在/mnt/hgfs/directory/module/Admin/Module.php中“这是因为模块文件不知道服务管理器。如何在Module.php中注入Service Manager?

1 个答案:

答案 0 :(得分:1)

private $app;
private $serviceManager;
....
public function onBootstrap(MvcEvent $e) {
    $this->app = $e->getApplication();
    $this->serviceManager = $this->app->getServiceManager();
    ....
}

在Module类中获取MvcEvent参数并获取事件。在引导程序中获取应用程序,您应该可以访问引导程序中的服务管理器。