我正在使用zend framework 2 for API。文件夹结构如下
两个模块中module.php中的代码如下:
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
$eventManager->attach(MvcEvent::EVENT_DISPATCH_ERROR,array($this, 'handleError'));
$eventManager->attach(MvcEvent::EVENT_RENDER_ERROR,array($this, 'handleError'));
}
public function handleError(MvcEvent $evt)
{
//this is to force the error handleing so that our responses are also correct and
$router = $evt->getRouter();
$uriString = $router->getRequestUri();
$uri = new Uri($uriString);
$queryArr = $uri->getQueryAsArray();
$js = new JsonModel();
$exception = $evt->getParam('exception');
if(!$exception){
$valueToEncode = array(
'errorcode'=>"1",
'message' =>$evt->getError(),
'statuscode'=>404,
'file'=>$evt->getName(),
'line'=>0
);
}
else{
....
}
}
我希望Apiv2模块的handleError方法中的代码与Api模块中的代码不同。但是这两个模块的代码都存在冲突。
请给我解决方案,以便每个模块的错误处理程序方法应该单独工作。