插件类是用户编写的, 但是它需要继承自Yaf_Plugin_Abstract. 对于插件来说, 上一节提到的7个Hook, 它不需要全部关心, 它只需要在插件类中定义和上面事件同名的方法, 那么这个方法就会在该事件触发的时候被调用.
而插件方法, 可以接受俩个参数, Yaf_Request_Abstract实例和Yaf_Response_Abstract实例. 一个插件类例子如下:
例 7.1. 插件类
<?php class UserPlugin extends Yaf_Plugin_Abstract { public function routerStartup(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { } public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) { } }
这个例子中, 插件UserPlugin只关心俩个事件. 所以就定义了俩个方法.