Php ZF-2在模块控制器文件操作方法中获取模块名称
我想在其控制器操作方法中获取当前模块名称 非常感谢您的帮助Php ZF-2在模块控制器文件操作方法中获取模块名称,php,zend-framework2,Php,Zend Framework2,我想在其控制器操作方法中获取当前模块名称 非常感谢您的帮助 public function initAction() { parent::initAction(); die(var_dump(module name here)); } 谢谢 您可以从当前的命名空间中获取它 在控制器操作中,您可以执行以下操作: public function initAction() { parent::initAction(); $controllerClass = get_class
public function initAction()
{
parent::initAction();
die(var_dump(module name here));
}
谢谢 您可以从当前的
命名空间中获取它
在控制器操作中,您可以执行以下操作:
public function initAction()
{
parent::initAction();
$controllerClass = get_class($this);
$moduleName = substr($controllerClass, 0, strpos($controllerClass, '\\'));
die($moduleName);
}
示例:
- 命名空间:
Administration\Controller代码>
- 输出:
管理
我认为获取当前模块名称的最简单方法是使用magic\uuuuu名称空间\uuuuuu
常量
在控制器中,尝试以下操作:
$modulename = explode('\\', __NAMESPACE__, -1);
var_dump($modulename); // [0] => 'Application'
您还可以通过ModuleManager获得已加载模块的列表,如下所示:
$manager = $this->getServiceLocator()->get('ModuleManager');
$manager->getLoadedModules();
我真的很喜欢模块管理器简洁明了的想法,但是我如何从$manager->getLoadedModules()获取当前模块的名称呢@PradeepSrivastava答案是你不能<代码>$manager->getLoadedModules()返回一个数组,其中包含加载模块的名称。例如,您可以检查模块是否已加载(if(在_数组('moduleName',$manager->getLoadedModules())
)