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 |
Property | Type | Description | Defined By |
---|---|---|---|
controller | CController | the controller who owns this action. | CAction |
id | string | id of this action | CAction |
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 |
Method | Description | Defined By |
---|---|---|
runWithParamsInternal() | Executes a method of an object with the supplied named parameters. | CAction |
the controller who owns this action.
id of this action
public void __construct(CController $controller, string $id)
| ||
$controller | CController | the controller who owns this action. |
$id | string | id of the action. |
public function __construct($controller,$id)
{
$this->_controller=$controller;
$this->_id=$id;
}
Constructor.
public CController getController()
| ||
{return} | CController | the controller who owns this action. |
public function getController()
{
return $this->_controller;
}
public string getId()
| ||
{return} | string | id of this action |
public function getId()
{
return $this->_id;
}
public boolean runWithParams(array $params)
| ||
$params | array | the request parameters (name=>value) |
{return} | boolean | whether the request parameters are valid |
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().
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 |
protected function runWithParamsInternal($object, $method, $params)
{
$ps=array();
foreach($method->getParameters() as $i=>$param)
{
$name=$param->getName();
if(isset($params[$name]))
{
if(version_compare(PHP_VERSION,'8.0','>='))
$isArray=($type=$param->getType()) instanceof \ReflectionNamedType && $type->getName()==='array';
else
$isArray=$param->isArray();
if($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.
Signup or Login in order to comment.