过滤器执行顺序为它们出现在过滤器列表中的顺序。
class PerformanceFilter extends CFilter { protected function preFilter($filterChain) { // 动作被执行之前应用的逻辑 return true; // 如果动作不应被执行,此处返回 false } protected function postFilter($filterChain) { // 动作执行之后应用的逻辑 } }这个过滤器代码文件的放置位置由下面代码指定
class PostController extends CController { ...... public function filters() { return array(
array( 'application.filters.PerformanceFilter', // 指定自定义过滤器类的位置为:protected/filters/PerformanceFilter
'unit'=>'second'//初始化PerformanceFilter
的unit
属性值将被初始为second
)
); } }