public function_initPlugin(Yaf_Dispatcher $dispatcher) {/* register a plugin */$dispatcher->registerPlugin(newTestPlugin());
}
}/* plugin class should be placed under ./application/plugins/ */classTestPluginextendsYaf_Plugin_Abstract{
public functionrouterStartup(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {/* 在路由之前执行,这个钩子里,你可以做url重写等功能 */var_dump("routerStartup");
}
public functionrouterShutdown(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {/* 路由完成后,在这个钩子里,你可以做登陆检测等功能*/var_dump("routerShutdown");
}
public functiondispatchLoopStartup(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {var_dump("dispatchLoopStartup");
}
public functionpreDispatch(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {var_dump("preDispatch");
}
public functionpostDispatch(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {var_dump("postDispatch");
}
public functiondispatchLoopShutdown(Yaf_Request_Abstract $request,Yaf_Response_Abstract $response) {/* final hoook
in this hook user can do loging or implement layout */var_dump("dispatchLoopShutdown");
}
}
ClassIndexControllerextendsYaf_Controller_Abstract{
public functionindexAction() {
returnFALSE;//prevent rendering}
}$config= array("application"=> array("directory"=>dirname(__FILE__) ."/application/",
),
);$app= newYaf_Application($config);$app->bootstrap()->run();?>