为 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
}

这将执行您应用程序中的每个请求。