yii框架中关于控制器中filter过滤器和外部action的使用

本文介绍了Yii框架中控制器过滤器的使用方法。通过一个具体的例子展示了如何定义公共的过滤器action,并在不同的控制器方法中应用这些过滤器。文章还解释了过滤器链的概念及其工作原理。

在yii框架中,控制器的过滤器分为执行前和执行后,这里举例是在执行控制器前的过滤。

需要在components/文件夹下定义公共的TestAction.php文件,并且实现run()方法。这个action是各个控制器公用的。

class TestController extends Controller
{
    /**
     * 定义外部的action
     * @return array
     */
    public function actions()
    {
        return array(
            'testa' => array(
                'class' => 'TestAction'
            )
        );
    }
    public function filters()
    {
        return array(
         //'tes+edit,modify' 仅仅edit和modify需要执行过滤
'tes-delete' //除了delete外,其他都需要执行过滤 ); } public function filterTes($filterChain) { echo "this is a filter...\r\n"; /* * 定义过滤器链,$filterChain让后面的控制器继续执行 */ $filterChain->run(); } public function actionTe() { echo $this->action->id.PHP_EOL; Yii::app()->clientScript->registerScriptFile(); echo "this is test controller...\r\n"; } public function actionDelete() { echo "this is delete action...\r\n"; } }

 

转载于:https://www.cnblogs.com/phpzhou/p/5486457.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值