Zend framework2 如何在ZF2中检查控制器和动作是否存在
如果控制器和操作存在或不存在,如何在控制器中签入ZF2? 我的控制器必须检查指定的控制器和操作是否存在,他可以使用这些控制器和操作创建小部件。Zend framework2 如何在ZF2中检查控制器和动作是否存在,zend-framework2,Zend Framework2,如果控制器和操作存在或不存在,如何在控制器中签入ZF2? 我的控制器必须检查指定的控制器和操作是否存在,他可以使用这些控制器和操作创建小部件。 谢谢。使用前端控制器的isDispatchable-方法,将Zend\u controller\u Request\u抽象实例传递给它 if( $front->getDispatcher()->isDispatchable($testRequest) ) { //Do somthing } 可通过控制器的服务定位器访问控制器
谢谢。使用前端控制器的isDispatchable-方法,将Zend\u controller\u Request\u抽象实例传递给它
if( $front->getDispatcher()->isDispatchable($testRequest) )
{
//Do somthing
}
可通过控制器的服务定位器访问控制器。如果实例可用,可以检查控制器加载程序。如果是,则创建该实例并检查该操作是否为有效方法 代码:
// Inside your controller
protected function validateDispatchable($controller, $action)
{
$loader = $this->getServiceLocator()->get('ControllerLoader');
if (!$loader->has($controller)) {
return false; // No controller
}
$obj = $loader->get($controller);
$method = $obj::getMethodFromAction($action);
if (!method_exists($obj, $method)) {
return false; // No action
}
return true;
}
您指的是ZF1,问题是关于ZF2的。您没有仔细阅读问题。这两个版本将不起作用。不过还是要谢谢你。如果你已经“在”控制器中了,那么检查它是否是一个有效的控制器是没有意义的,对吗?你能详细说明一下这个用例吗?使用示例:使用这个配置,我必须添加模块(widgets模块)谢谢,这就是我需要的。