(Yaf >=1.0.0)
Yaf_Plugin_Abstract::postDispatch — 每次分发之后的钩子
$request, Yaf_Response_Abstract $response): void这个钩子会在每次分发迭代结束(即动作执行完毕)后触发。与 Yaf_Plugin_Abstract::preDispatch() 类似,它在一次请求中可能会被调用多次。
request正在被分发的 Yaf_Request_Abstract 实例。
response没有返回值。
示例 #1 Yaf_Plugin_Abstract::postDispatch() 示例
<?php
class BenchmarkPlugin extends Yaf_Plugin_Abstract
{
public function postDispatch(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response)
{
/* 动作已经执行完毕:向响应体中追加
* 一些调试信息 */
$elapsed = microtime(true) - Yaf_Registry::get("request_start");
$response->appendBody(sprintf(
"\n<!-- rendered in %.3f seconds -->",
$elapsed
));
}
}
/* 插件在引导(bootstrap)中注册 */
class Bootstrap extends Yaf_Bootstrap_Abstract
{
public function _initPlugin(Yaf_Dispatcher $dispatcher)
{
$dispatcher->registerPlugin(new BenchmarkPlugin());
}
}
?>