我正在尝试在zend中配置module.php的finish函数,从我的理解你需要配置某种类型的监听器(我认为在bootstrap中)将调用finish函数然后我可以执行代码它完成了用户请求。
有人可以提供一些示例代码来设置模块在完成用户请求后调用完成。
谢谢!
答案 0 :(得分:6)
您可以使用onBootstrap
的{{1}}方法执行此操作,如下所示:
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
}
优先级较高的值最早执行。 (默认优先级为1,允许使用否定优先级。)
答案 1 :(得分:2)
基本的想法是为活动附加一个听众,因为你正确地指出了这个地方是onBootstrap
类的Module
方法。以下内容应该让你开始...
public function onBootstrap(MvcEvent $e)
{
$e->getApplication()->getEventManager()->attach(MvcEvent::EVENT_FINISH, function ($e) {
// do something...
});
}