system system.base system.caching system.caching.dependencies system.collections system.console system.db system.db.ar system.db.schema system.db.schema.cubrid system.db.schema.mssql system.db.schema.mysql system.db.schema.oci system.db.schema.pgsql system.db.schema.sqlite system.gii system.i18n system.i18n.gettext system.logging system.test system.utils system.validators system.web system.web.actions system.web.auth system.web.filters system.web.form system.web.helpers system.web.renderers system.web.services system.web.widgets system.web.widgets.captcha system.web.widgets.pagers zii.behaviors zii.widgets zii.widgets.grid zii.widgets.jui

CBehavior

system.base
继承 class CBehavior » CComponent
实现 IBehavior
子类 CConsoleCommandBehavior, CModelBehavior
源码 framework/base/CBehavior.php
CBehavior 是所有行为类的基类。

公共属性

隐藏继承的属性

属性类型描述被定义在
enabled boolean 行为是否被启用。 CBehavior
owner CComponent 此行为被连接到该所有者的组件。 CBehavior

公共方法

隐藏继承的方法

方法描述被定义在
__call() Calls the named method which is not a class method. CComponent
__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
asa() Returns the named behavior object. CComponent
attach() 对组件附加行为对象。 CBehavior
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
canGetProperty() Determines whether a property can be read. CComponent
canSetProperty() Determines whether a property can be set. CComponent
detach() 从组件中分离行为对象。 CBehavior
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
evaluateExpression() Evaluates a PHP expression or callback under the context of this component. CComponent
events() 声明事件和相应事件的处理方法。 CBehavior
getEnabled() Returns 行为是否被启用。 CBehavior
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getOwner() Returns 此行为被连接到该所有者的组件。 CBehavior
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
raiseEvent() Raises an event. CComponent
setEnabled() Sets 行为是否被启用。 CBehavior

属性详情

enabled 属性
public boolean getEnabled()
public void setEnabled(boolean $value)

行为是否被启用。

owner 属性 只读

此行为被连接到该所有者的组件。

方法详情

attach() 方法
public void attach(CComponent $owner)
$owner CComponent the component that this behavior is to be attached to.
源码: framework/base/CBehavior.php#47 (显示)
public function attach($owner)
{
    
$this->_enabled=true;
    
$this->_owner=$owner;
    
$this->_attachEventHandlers();
}

对组件附加行为对象。 The default implementation will set the owner property and attach event handlers as declared in events. This method will also set enabled to true. Make sure you've declared handler as public and call the parent implementation if you override this method.

detach() 方法
public void detach(CComponent $owner)
$owner CComponent the component that this behavior is to be detached from.
源码: framework/base/CBehavior.php#62 (显示)
public function detach($owner)
{
    foreach(
$this->events() as $event=>$handler)
        
$owner->detachEventHandler($event,array($this,$handler));
    
$this->_owner=null;
    
$this->_enabled=false;
}

从组件中分离行为对象。 The default implementation will unset the owner property and detach event handlers declared in events. This method will also set enabled to false. Make sure you call the parent implementation if you override this method.

events() 方法
public array events()
{return} array events (array keys) and the corresponding event handler methods (array values).
源码: framework/base/CBehavior.php#34 (显示)
public function events()
{
    return array();
}

声明事件和相应事件的处理方法。 The events are defined by the owner component, while the handler methods by the behavior class. The handlers will be attached to the corresponding events when the behavior is attached to the owner component; and they will be detached from the events when the behavior is detached from the component. Make sure you've declared handler method as public.

getEnabled() 方法
public boolean getEnabled()
{return} boolean 行为是否被启用。
源码: framework/base/CBehavior.php#81 (显示)
public function getEnabled()
{
    return 
$this->_enabled;
}

getOwner() 方法
public CComponent getOwner()
{return} CComponent 此行为被连接到该所有者的组件。
源码: framework/base/CBehavior.php#73 (显示)
public function getOwner()
{
    return 
$this->_owner;
}

setEnabled() 方法
public void setEnabled(boolean $value)
$value boolean 行为是否被启用。
源码: framework/base/CBehavior.php#89 (显示)
public function setEnabled($value)
{
    
$value=(bool)$value;
    if(
$this->_enabled!=$value && $this->_owner)
    {
        if(
$value)
            
$this->_attachEventHandlers();
        else
        {
            foreach(
$this->events() as $event=>$handler)
                
$this->_owner->detachEventHandler($event,array($this,$handler));
        }
    }
    
$this->_enabled=$value;
}