有时, 我们需要在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的两个方法.