为 ZF2 AbstractRestfulController 中的所有请求执行一个函数
Execute a function for all requests in ZF2 AbstractRestfulController
使用 ZendFramework AbstractRestfulController
我怎样才能让一个函数针对所有请求执行并 return 立即(如果需要)得到结果,而不是每次都显式调用它?
试试onDispatch
方法。
public function onDispatch(MvcEvent $e)
您可以在扩展了 AbstractRestfulController 的控制器中使用以下函数。
public function setEventManager(EventManagerInterface $events)
{
$controller = $this;
$config = $this->getServiceLocator()->get('Config');
$events->attach('dispatch', function ($e) use ($controller) {
$route = $e->getRouteMatch();
$viewModel = $e->getViewModel();
$variables = $viewModel->getVariables();
$currentController = $route->getParam('controller');
}, 100); // execute before executing action logic
}
这将执行您应用程序中的每个请求。
使用 ZendFramework AbstractRestfulController
我怎样才能让一个函数针对所有请求执行并 return 立即(如果需要)得到结果,而不是每次都显式调用它?
试试onDispatch
方法。
public function onDispatch(MvcEvent $e)
您可以在扩展了 AbstractRestfulController 的控制器中使用以下函数。
public function setEventManager(EventManagerInterface $events)
{
$controller = $this;
$config = $this->getServiceLocator()->get('Config');
$events->attach('dispatch', function ($e) use ($controller) {
$route = $e->getRouteMatch();
$viewModel = $e->getViewModel();
$variables = $viewModel->getVariables();
$currentController = $route->getParam('controller');
}, 100); // execute before executing action logic
}
这将执行您应用程序中的每个请求。