【问题标题】:getServiceLocator() not working in module.phpgetServiceLocator() 在 module.php 中不起作用
【发布时间】:2013-09-17 16:46:24
【问题描述】:

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

【问题讨论】:

  • 考虑您的所有最新问题只是一个建议:在尝试构建丰富的应用程序之前学习框架。官方文档不再像谣言所说的那么糟糕,所以请自己努力!

标签: zend-framework2


【解决方案1】:
private $app;
private $serviceManager;
....
public function onBootstrap(MvcEvent $e) {
    $this->app = $e->getApplication();
    $this->serviceManager = $this->app->getServiceManager();
    ....
}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-16
    • 2017-08-15
    • 1970-01-01
    • 2013-02-01
    • 2015-12-25
    • 2013-11-23
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多