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

Php 如何在模型中或使用服务管理器(Zend framework 2)检索请求控制器、操作和模块名称?,php,zend-framework2,Php,Zend Framework2,我有一个模型,其中记录了请求的详细信息。但我无法找到在模型中检索请求详细信息的方法。我在模型构造函数中有接收服务经理 这是我的模型,我需要得到模块,控制器和行动 class LogHelpModel { //$sm is the service manager. public function __construct($sm) { //How to retrieve module/controller/action here ? } } 下面是我的模块

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

这是我的模型,我需要得到模块,控制器和行动

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)?

您可以在zf3中获取mvc事件、routematch对象和事件。Polly在zf2中也是如此。以下是zf3代码:

$sm->get('Application')->getMvcEvent()->getRoutMatch()
这是你要找的东西


ps:对不起,手机中没有代码块。

它没用,这个没用$sm->get('Application')->getMvcEvent()->getRouteMatch();哦,你说得对。GetApplication MvcEvent的方法。您的方法是从容器中获取应用程序。