配置zend模块使用完成

1 php zend-framework zend-framework2

我正在尝试在zend中配置module.php的finish函数,从我的理解你需要配置某种类型的监听器(我认为在bootstrap中)将调用finish函数然后我可以在完成后执行代码用户请求.

有人可以提供一些示例代码来设置模块在完成用户请求后调用完成.

谢谢!

Moh*_*din 6

您可以使用以下onBootstrap方法执行此操作Module.php:

public function onBootstrap(MvcEvent $e)
{
    $em = $e->getApplication()->getEventManager();
    $em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doSomething'));
}
Run Code Online (Sandbox Code Playgroud)

然后doSomething在您Module.php的下面定义一个函数:

public function doSomething(MvcEvent $e)
{
    // your code goes here
}
Run Code Online (Sandbox Code Playgroud)

如果在同一事件上附加多个侦听器,您还可以为要执行的回调函数添加一些优先级,如下所示:

$em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doSomethingFirst'), 20);
$em->attach(\Zend\Mvc\MvcEvent::EVENT_FINISH, array($this, 'doAnotherThingLater'), 10);
Run Code Online (Sandbox Code Playgroud)

优先级较高的值最早执行.(默认优先级为1,允许负优先级.)