yii controller filters()方法模式

时间:2011-03-22 21:08:24

标签: filter yii

每个控制器都应该有方法过滤器(),在那里你可以指定一些类,我想知道,这些类是如何被框架包含的?这些类是如何配置的,以及何时,也许有人可以给我一个使用filters()并包含一些类的方式的模式?

1 个答案:

答案 0 :(得分:8)

控制器过滤器是派生自CFilter的类。

正如documentation example所示,您可以在控制器中配置它们,如下所示:

public function filters()
    {
        return array(
            'postOnly + edit, create',
            array(
                'application.filters.PerformanceFilter - edit, create',  // 1
                'unit'=>'second',                                        // 2
                'amount'=>42,                                            // 3
            ),
        );
    }

在标有1的行中,您提供了假设类PerformanceFilter的路径; Yii将其加载为任何其他组件。

在标记为23的行中,您初始化属性。您可以继续使用任意数量的键/值对;它们都将习惯于使用相应的名称设置过滤器的属性。