7.3. 定义插件

插件类是用户编写的, 但是它需要继承自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只关心俩个事件. 所以就定义了俩个方法.