0 follower

CBehavior

Package system.base
Inheritance class CBehavior » CComponent
Implements IBehavior
Subclasses CConsoleCommandBehavior, CModelBehavior
Source Code framework/base/CBehavior.php
CBehavior is a convenient base class for behavior classes.

Public Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
enabled boolean whether this behavior is enabled CBehavior
owner CComponent the owner component that this behavior is attached to. CBehavior

Public Methods

Hide inherited methods

MethodDescriptionDefined By
__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() Attaches the behavior object to the component. 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() Detaches the behavior object from the component. 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() Declares events and the corresponding event handler methods. CBehavior
getEnabled() Returns whether this behavior is enabled CBehavior
getEventHandlers() Returns the list of attached event handlers for an event. CComponent
getOwner() Returns the owner component that this behavior is attached to. 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 whether this behavior is enabled CBehavior

Property Details

enabled property
public boolean getEnabled()
public void setEnabled(boolean $value)

whether this behavior is enabled

owner property read-only

the owner component that this behavior is attached to.

Method Details

attach() method
public void attach(CComponent $owner)
$owner CComponent the component that this behavior is to be attached to.
Source Code: framework/base/CBehavior.php#47 (show)
public function attach($owner)
{
    
$this->_enabled=true;
    
$this->_owner=$owner;
    
$this->_attachEventHandlers();
}

Attaches the behavior object to the component. 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() method
public void detach(CComponent $owner)
$owner CComponent the component that this behavior is to be detached from.
Source Code: framework/base/CBehavior.php#62 (show)
public function detach($owner)
{
    foreach(
$this->events() as $event=>$handler)
        
$owner->detachEventHandler($event,array($this,$handler));
    
$this->_owner=null;
    
$this->_enabled=false;
}

Detaches the behavior object from the component. 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() method
public array events()
{return} array events (array keys) and the corresponding event handler methods (array values).
Source Code: framework/base/CBehavior.php#34 (show)
public function events()
{
    return array();
}

Declares events and the corresponding event handler methods. 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() method
public boolean getEnabled()
{return} boolean whether this behavior is enabled
Source Code: framework/base/CBehavior.php#81 (show)
public function getEnabled()
{
    return 
$this->_enabled;
}

getOwner() method
public CComponent getOwner()
{return} CComponent the owner component that this behavior is attached to.
Source Code: framework/base/CBehavior.php#73 (show)
public function getOwner()
{
    return 
$this->_owner;
}

setEnabled() method
public void setEnabled(boolean $value)
$value boolean whether this behavior is enabled
Source Code: framework/base/CBehavior.php#89 (show)
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;
}