每个控制器都应该有方法过滤器(),在那里你可以指定一些类,我想知道,这些类是如何被框架包含的?这些类是如何配置的,以及何时,也许有人可以给我一个使用filters()并包含一些类的方式的模式?
答案 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将其加载为任何其他组件。
在标记为2
和3
的行中,您初始化属性。您可以继续使用任意数量的键/值对;它们都将习惯于使用相应的名称设置过滤器的属性。