我正在尝试在zend中配置module.php的finish函数,从我的理解你需要配置某种类型的监听器(我认为在bootstrap中)将调用finish函数然后我可以在完成后执行代码用户请求.
有人可以提供一些示例代码来设置模块在完成用户请求后调用完成.
谢谢!
您可以使用以下onBootstrap
方法执行此操作Module.php
:
public function onBootstrap(MvcEvent $e) { $em = $e->getApplication()->getEventManager(); $em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doSomething')); }
然后doSomething
在您Module.php
的下面定义一个函数:
public function doSomething(MvcEvent $e) { // your code goes here }
如果在同一事件上附加多个侦听器,您还可以为要执行的回调函数添加一些优先级,如下所示:
$em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doSomethingFirst'), 20); $em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doAnotherThingLater'), 10);
优先级较高的值最早执行.(默认优先级为1,允许负优先级.)