CInlineFilter
优质
小牛编辑
134浏览
2023-12-01
所有包 | 属性 | 方法
CInlineFilter代表作为控制器的方法定义一个过滤器。
CInlineFilter运行那些在控制器中以’filterXYZ($action)‘这样形式定义, 名字‘XYZ’可以从name属性中读取。
源码: framework/web/filters/CInlineFilter.php#38 (显示)
源码: framework/web/filters/CInlineFilter.php#56 (显示)
包 | system.web.filters |
---|---|
继承 | class CInlineFilter » CFilter » CComponent |
实现 | IFilter |
源自 | 1.0 |
版本 | $Id: CInlineFilter.php 3026 2011-03-06 10:41:56Z haertl.mike $ |
源码 | framework/web/filters/CInlineFilter.php |
CInlineFilter运行那些在控制器中以’filterXYZ($action)‘这样形式定义, 名字‘XYZ’可以从name属性中读取。
公共属性
隐藏继承属性
属性 | 类型 | 描述 | 定义在 |
---|---|---|---|
name | string | 过滤器名字。‘XYZ’代表着‘filterXYZ’过滤方法。 | CInlineFilter |
公共方法
隐藏继承方法
方法 | 描述 | 定义在 |
---|---|---|
__call() | 如果类中没有调的方法名,则调用这个方法。 | CComponent |
__get() | 返回一个属性值、一个事件处理程序列表或一个行为名称。 | CComponent |
__isset() | 检查一个属性是否为null。 | CComponent |
__set() | 设置一个组件的属性值。 | CComponent |
__unset() | 设置一个组件的属性为null。 | CComponent |
asa() | 返回这个名字的行为对象。 | CComponent |
attachBehavior() | 附加一个行为到组件。 | CComponent |
attachBehaviors() | 附加一个行为列表到组件。 | CComponent |
attachEventHandler() | 为事件附加一个事件处理程序。 | CComponent |
canGetProperty() | 确定属性是否可读。 | CComponent |
canSetProperty() | 确定属性是否可写。 | CComponent |
create() | 创建一个内嵌的过滤器实例。 | CInlineFilter |
detachBehavior() | 从组件中分离一个行为。 | CComponent |
detachBehaviors() | 从组件中分离所有行为。 | CComponent |
detachEventHandler() | 分离一个存在的事件处理程序。 | CComponent |
disableBehavior() | 禁用一个附加行为。 | CComponent |
disableBehaviors() | 禁用组件附加的所有行为。 | CComponent |
enableBehavior() | 启用一个附加行为。 | CComponent |
enableBehaviors() | 启用组件附加的所有行为。 | CComponent |
evaluateExpression() | 计算一个PHP表达式,或根据组件上下文执行回调。 | CComponent |
filter() | 执行过滤。 | CInlineFilter |
getEventHandlers() | 返回一个事件的附加处理程序列表。 | CComponent |
hasEvent() | 确定一个事件是否定义。 | CComponent |
hasEventHandler() | 检查事件是否有附加的处理程序。 | CComponent |
hasProperty() | 确定属性是否被定义。 | CComponent |
init() | 初始化过滤器。 | CFilter |
raiseEvent() | 发起一个事件。 | CComponent |
受保护方法
隐藏继承方法
方法 | 描述 | 定义在 |
---|---|---|
postFilter() | 执行post操作过滤器。 | CFilter |
preFilter() | 执行预操作过滤器。 | CFilter |
属性详细
name 属性 public string $name;过滤器名字。‘XYZ’代表着‘filterXYZ’过滤方法。
方法详细
create() 方法public static CInlineFilter create(CController $controller, string $filterName) | ||
$controller | CController | 过滤方法的宿主控制器。 |
$filterName | string | 过滤器名字。 |
{return} | CInlineFilter | 实例化的对象。 |
publicstaticfunctioncreate($controller,$filterName)
{
if(method_exists($controller,'filter'.$filterName))
{
$filter=newCInlineFilter;
$filter->name=$filterName;
return$filter;
}
else
thrownewCException(Yii::t('yii','Filter"{filter}"isinvalid.Controller"{class}"doesnothavethefiltermethod"filter{filter}".',
array('{filter}'=>$filterName,'{class}'=>get_class($controller))));
}
创建一个内嵌的过滤器实例。 这个创建是基于过滤器是否会应用内嵌的 方法名字描述和动作名字来定的。
filter() 方法public void filter(CFilterChain $filterChain) | ||
$filterChain | CFilterChain | 透过过滤器已启动。 |
publicfunctionfilter($filterChain)
{
$method='filter'.$this->name;
$filterChain->controller->$method($filterChain);
}
执行过滤。 这个方法调用定义在控制器里面的过滤方法的。