CFilterWidget
| 包 | system.web.widgets |
|---|---|
| 继承 | class CFilterWidget » CWidget » CBaseController » CComponent |
| 实现 | IFilter |
| 子类 | COutputCache, COutputProcessor |
| 可用自 | 1.0 |
| 源码 | framework/web/widgets/CFilterWidget.php |
CFilterWidget is the base class for widgets that can also be used as filters.
Derived classes may need to override the following methods:
CFilterWidget provides all properties and methods of CWidget and CFilter.
Derived classes may need to override the following methods:
- CWidget::init() : called when this is object is used as a widget and needs initialization.
- CWidget::run() : called when this is object is used as a widget.
- filter() : the filtering method called when this object is used as an action filter.
CFilterWidget provides all properties and methods of CWidget and CFilter.
公共属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| actionPrefix | string | the prefix to the IDs of the actions. | CWidget |
| controller | CController | Returns the controller that this widget belongs to. | CWidget |
| id | string | Returns the ID of the widget or generates a new one if requested. | CWidget |
| isFilter | boolean | whether this widget is used as a filter. | CFilterWidget |
| owner | CBaseController | Returns the owner/creator of this widget. | CWidget |
| skin | mixed | the name of the skin to be used by this widget. | CWidget |
| stopAction | boolean | whether to stop the action execution when this widget is used as a filter. | CFilterWidget |
| viewPath | string | Returns the directory containing the view files for this widget. | CWidget |
公共方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent |
| __construct() | Constructor. | CFilterWidget |
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
| __isset() | Checks if a property value is null. | CComponent |
| __set() | Sets value of a component property. | CComponent |
| __unset() | Sets a component property to be null. | CComponent |
| actions() | Returns a list of actions that are used by this widget. | CWidget |
| asa() | Returns the named behavior object. | CComponent |
| attachBehavior() | Attaches a behavior to this component. | CComponent |
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
| attachEventHandler() | Attaches an event handler to an event. | CComponent |
| beginCache() | Begins fragment caching. | CBaseController |
| beginClip() | Begins recording a clip. | CBaseController |
| beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
| beginWidget() | Creates a widget and executes it. | CBaseController |
| canGetProperty() | Determines whether a property can be read. | CComponent |
| canSetProperty() | Determines whether a property can be set. | CComponent |
| createWidget() | Creates a widget and initializes it. | CBaseController |
| detachBehavior() | Detaches a behavior from the component. | CComponent |
| detachBehaviors() | Detaches all behaviors from the component. | CComponent |
| detachEventHandler() | Detaches an existing event handler. | CComponent |
| disableBehavior() | Disables an attached behavior. | CComponent |
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
| enableBehavior() | Enables an attached behavior. | CComponent |
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
| endCache() | Ends fragment caching. | CBaseController |
| endClip() | Ends recording a clip. | CBaseController |
| endContent() | Ends the rendering of content. | CBaseController |
| endWidget() | Ends the execution of the named widget. | CBaseController |
| evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
| filter() | Performs the filtering. | CFilterWidget |
| getController() | Returns the controller that this widget belongs to. | CWidget |
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
| getId() | Returns the ID of the widget or generates a new one if requested. | CWidget |
| getIsFilter() | Checks whether this widget is used as a filter. | CFilterWidget |
| getOwner() | Returns the owner/creator of this widget. | CWidget |
| getViewFile() | Looks for the view script file according to the view name. | CWidget |
| getViewPath() | Returns the directory containing the view files for this widget. | CWidget |
| hasEvent() | Determines whether an event is defined. | CComponent |
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
| hasProperty() | Determines whether a property is defined. | CComponent |
| init() | Initializes the widget. | CWidget |
| raiseEvent() | Raises an event. | CComponent |
| render() | Renders a view. | CWidget |
| renderFile() | Renders a view file. | CBaseController |
| renderInternal() | Renders a view file. | CBaseController |
| run() | Executes the widget. | CWidget |
| setId() | Sets the ID of the widget. | CWidget |
| widget() | Creates a widget and executes it. | CBaseController |
属性详情
isFilter
属性
只读
public boolean getIsFilter()
whether this widget is used as a filter.
stopAction
属性
public boolean $stopAction;
whether to stop the action execution when this widget is used as a filter. This property should be changed only in CWidget::init method. Defaults to false, meaning the action should be executed.
方法详情
__construct()
方法
|
public void __construct(CBaseController $owner=NULL)
| ||
| $owner | CBaseController | owner/creator of this widget. It could be either a widget or a controller. |
源码: framework/web/widgets/CFilterWidget.php#44 (显示)
public function __construct($owner=null)
{
parent::__construct($owner);
$this->_isFilter=($owner===null);
}
Constructor.
filter()
方法
|
public void filter(CFilterChain $filterChain)
| ||
| $filterChain | CFilterChain | the filter chain that the filter is on. |
源码: framework/web/widgets/CFilterWidget.php#65 (显示)
public function filter($filterChain)
{
$this->init();
if(!$this->stopAction)
{
$filterChain->run();
$this->run();
}
}
Performs the filtering. The default implementation simply calls init(), CFilterChain::run() and run() in order Derived classes may want to override this method to change this behavior.
getIsFilter()
方法
|
public boolean getIsFilter()
| ||
| {return} | boolean | whether this widget is used as a filter. |
源码: framework/web/widgets/CFilterWidget.php#53 (显示)
public function getIsFilter()
{
return $this->_isFilter;
}