如何在模型或使用服务管理器(Zend 框架 2)中检索请求控制器、操作和模块名称?

How to retrieve request controller, action and module name in a model or Using Service Manager (Zend framework 2)?

我有一个模型,我在其中记录了请求详细信息。但我无法找到一种方法来检索模型中的请求详细信息。我确实在模型构造函数中接收了服务管理器。

这是我的模型,我需要在其中获取模块、控制器和操作。

class LogHelpModel {

    //$sm is the service manager.
    public function __construct($sm) {
        //How to retrieve module/controller/action here ?
    }
}

以下是我的模块配置。

public function getServiceConfig() {

    return array(
        'factories' => array(

            Application\Model\LogHelpModel' => function($sm) {
                return new LogHelpModel($sm) ;
            },

        )
    );
}

如何在模型中获取这些细节(或使用 $sm)?

您可以获取 mvc 事件,然后是路由匹配对象,然后是 zf3 中的事件。 Polly 在 zf2 中也是一样的。这是 zf3 代码:

$sm->get('Application')->getMvcEvent()->getRoutMatch()

这就是您要找的对象。

ps:抱歉,手机中没有代码块 phone。