CAction
Package | system.web.actions |
---|---|
Inheritance | abstract class CAction » CComponent |
Implements | IAction |
Subclasses | CCaptchaAction, CInlineAction, CViewAction, CWebServiceAction |
Since | 1.0 |
Source Code | framework/web/actions/CAction.php |
CAction is the base class for all controller action classes.
CAction provides a way to divide a complex controller into smaller actions in separate class files.
Derived classes must implement run() which is invoked by controller when the action is requested.
An action instance can access its controller via controller property.
CAction provides a way to divide a complex controller into smaller actions in separate class files.
Derived classes must implement run() which is invoked by controller when the action is requested.
An action instance can access its controller via controller property.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
controller | CController | the controller who owns this action. | CAction |
id | string | id of this action | CAction |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CAction |
__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 |
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 |
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 |
getController() | Returns the controller who owns this action. | CAction |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getId() | Returns id of this action | CAction |
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 |
runWithParams() | Runs the action with the supplied request parameters. | CAction |
Protected Methods
Method | Description | Defined By |
---|---|---|
runWithParamsInternal() | Executes a method of an object with the supplied named parameters. | CAction |
Property Details
controller property read-only
public CController getController()
the controller who owns this action.
id property read-only
public string getId()
id of this action
Method Details
__construct() method
public void __construct(CController $controller, string $id) | ||
$controller | CController | the controller who owns this action. |
$id | string | id of the action. |
Source Code: framework/web/actions/CAction.php#41 (show)
public function __construct($controller,$id)
{
$this->_controller=$controller;
$this->_id=$id;
}
Constructor.
getController() method
public CController getController() | ||
{return} | CController | the controller who owns this action. |
Source Code: framework/web/actions/CAction.php#50 (show)
public function getController()
{
return $this->_controller;
}
getId() method
public string getId() | ||
{return} | string | id of this action |
Source Code: framework/web/actions/CAction.php#58 (show)
public function getId()
{
return $this->_id;
}
runWithParams() method (available since v1.1.7)
public boolean runWithParams(array $params) | ||
$params | array | the request parameters (name=>value) |
{return} | boolean | whether the request parameters are valid |
Source Code: framework/web/actions/CAction.php#70 (show)
public function runWithParams($params)
{
$method=new ReflectionMethod($this, 'run');
if($method->getNumberOfParameters()>0)
return $this->runWithParamsInternal($this, $method, $params);
$this->run();
return true;
}
Runs the action with the supplied request parameters. This method is internally called by CController::runAction().
runWithParamsInternal() method (available since v1.1.7)
protected boolean runWithParamsInternal(mixed $object, ReflectionMethod $method, array $params) | ||
$object | mixed | the object whose method is to be executed |
$method | ReflectionMethod | the method reflection |
$params | array | the named parameters |
{return} | boolean | whether the named parameters are valid |
Source Code: framework/web/actions/CAction.php#89 (show)
protected function runWithParamsInternal($object, $method, $params)
{
$ps=array();
foreach($method->getParameters() as $i=>$param)
{
$name=$param->getName();
if(isset($params[$name]))
{
if($param->isArray())
$ps[]=is_array($params[$name]) ? $params[$name] : array($params[$name]);
elseif(!is_array($params[$name]))
$ps[]=$params[$name];
else
return false;
}
elseif($param->isDefaultValueAvailable())
$ps[]=$param->getDefaultValue();
else
return false;
}
$method->invokeArgs($object,$ps);
return true;
}
Executes a method of an object with the supplied named parameters. This method is internally used.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CAction