有时, 我们需要在mvc执行之前处理一些事务. 比如过滤某些敏感词语, 某些ip等.
这就需要在zend framework 2 中添加统一过滤器.
方法是在模块的 module.php 中添加如下修改
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
//mvc前执行
$filter = $e->getApplication()->getServiceManager()->get('Core\Component\CoreFilter');
$filter->record($e);
$filter->filter($e);
}
上面代码把统一过滤器封装到组件中. 这样每次请求都会执行了 filter的两个方法.