Class yii\base\Action
Action is the base class for all controller action classes.
Action provides a way to reuse action method code. An action method in an Action class can be used in multiple controllers or in different projects.
Derived classes must implement a method named run()
. This method
will be invoked by the controller when the action is requested.
The run()
method can have parameters which will be filled up
with user input values automatically according to their names.
For example, if the run()
method is declared as follows:
public function run($id, $type = 'book') { ... }
And the parameters provided for the action are: ['id' => 1]
.
Then the run()
method will be invoked as run(1)
automatically.
For more details and usage information on Action, see the guide article on actions.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component. This property is read-only. | yii\base\Component |
$controller | yii\base\Controller|yii\web\Controller|yii\console\Controller | The controller that owns this action | yii\base\Action |
$id | string | ID of the action | yii\base\Action |
$uniqueId | string | The unique ID of this action among the whole application. This property is read-only. | yii\base\Action |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\BaseObject |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\Action |
__get() | Returns the value of an object property. | yii\base\BaseObject |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\BaseObject |
__set() | Sets value of an object property. | yii\base\BaseObject |
__unset() | Sets an object property to null. | yii\base\BaseObject |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\BaseObject |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\BaseObject |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getUniqueId() | Returns the unique ID of this action among the whole application. | yii\base\Action |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\BaseObject |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\BaseObject |
init() | Initializes the object. | yii\base\BaseObject |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
runWithParams() | Runs this action with the specified parameters. | yii\base\Action |
trigger() | Triggers an event. | yii\base\Component |
Protected Methods
Method | Description | Defined By |
---|---|---|
afterRun() | This method is called right after run() is executed. |
yii\base\Action |
beforeRun() | This method is called right before run() is executed. |
yii\base\Action |
Property Details
The controller that owns this action
ID of the action
The unique ID of this action among the whole application. This property is read-only.
Method Details
Constructor.
public void __construct ( $id, $controller, $config = [] ) | ||
$id | string | The ID of this action |
$controller | yii\base\Controller | The controller that owns this action |
$config | array | Name-value pairs that will be used to initialize the object properties |
This method is called right after run()
is executed.
You may override this method to do post-processing work for the action run.
protected void afterRun ( ) |
This method is called right before run()
is executed.
You may override this method to do preparation work for the action run. If the method returns false, it will cancel the action.
protected boolean beforeRun ( ) | ||
return | boolean | Whether to run the action. |
---|
Returns the unique ID of this action among the whole application.
public string getUniqueId ( ) | ||
return | string | The unique ID of this action among the whole application. |
---|
Runs this action with the specified parameters.
This method is mainly invoked by the controller.
public mixed runWithParams ( $params ) | ||
$params | array | The parameters to be bound to the action's run() method. |
return | mixed | The result of the action |
---|---|---|
throws | yii\base\InvalidConfigException | if the action class does not have a run() method |