yii的filter用法

来源:互联网 发布:预防网络诈骗主题班会 编辑:程序博客网 时间:2024/05/16 05:24

在Controller里面支持动态插入过滤动作,举例说明

//重写CController的filter方法,返回我们想要配置的过滤器名字

public function filters()

{

    return array('LoginRequired');

}

 

//跟据上面配置的过滤器名字会回调这个函数,格式为filterXXXXXXXX,xxxxxxxx为刚才配置的名字

public function filterLoginRequired($filterChain)

{

    $actions = $this->loginRequiredActions();

    if (in_array($filterChain->action->id, $actions))

        if (Yii::app()->user->isGuest)

            Yii::app()->user->loginRequired();

    $filterChain->run();

}

 

//定义需要过滤的action

public function loginRequiredActions()

{

    return array('index', 'test');

}