CAction
包 | system.web.actions |
---|---|
继承 | abstract class CAction » CComponent |
实现 | IAction |
子类 | CCaptchaAction, CInlineAction, CViewAction, CWebServiceAction |
可用自 | 1.0 |
源码 | 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.
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
controller | CController | the controller who owns this action. | CAction |
id | string | id of this action | CAction |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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 |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
runWithParamsInternal() | Executes a method of an object with the supplied named parameters. | CAction |
属性详情
controller
属性
只读
public CController getController()
the controller who owns this action.
id
属性
只读
public string getId()
id of this action
方法详情
__construct()
方法
public void __construct(CController $controller, string $id)
| ||
$controller | CController | the controller who owns this action. |
$id | string | id of the action. |
源码: framework/web/actions/CAction.php#41 (显示)
public function __construct($controller,$id)
{
$this->_controller=$controller;
$this->_id=$id;
}
Constructor.
getController()
方法
public CController getController()
| ||
{return} | CController | the controller who owns this action. |
源码: framework/web/actions/CAction.php#50 (显示)
public function getController()
{
return $this->_controller;
}
getId()
方法
public string getId()
| ||
{return} | string | id of this action |
runWithParams()
方法
(自版本 v1.1.7 可用)
public boolean runWithParams(array $params)
| ||
$params | array | the request parameters (name=>value) |
{return} | boolean | whether the request parameters are valid |
源码: framework/web/actions/CAction.php#70 (显示)
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()
方法
(自版本 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 |
源码: framework/web/actions/CAction.php#89 (显示)
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.