Action
API reference › yii › web › Action
2 subclasses
Base class for HTTP standalone actions dispatched without a hosting controller.
Use this class instead of Action when an action handles an HTTP request and should benefit from the
same parameter-binding semantics as web controller actions: scalar coercion, BadRequestHttpException on type
mismatches and missing required parameters, and DI resolution of typed services through module components,
module DI definitions, and the global container.
Standalone actions extending Action still receive DI-based parameter resolution, but skip the
HTTP-specific scalar filtering and exception mapping. Reserve that base class for non-HTTP contexts (console actions,
queue jobs, scheduled tasks).
Usage example:
namespace app\controllers;
use yii\web\Action;use yii\web\Response;
final class HealthAction extends Action{ public function run(int $id, Response $response): Response { // 'abc' for $id throws BadRequestHttpException, '7' is coerced to int 7. return $response; }}Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$controller | yii\ | The controller that owns this action, or null when the action runs standalone. via Module::$actionMap Default: null. | yii\ |
$id | string| | ID of the action; null between construction and dispatcher post-assignment for standalone actions resolved through Module::$actionMap or Module::$actionNamespace. Default: null. | yii\ |
$module | yii\| | The owning module, or null if neither a module nor a controller is attached. Available since 22.0. | yii\ |
$uniqueId read-only | string | The unique ID of this action among the whole application. | yii\ |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
getModule() | Returns the module that owns this action when invoked standalone. | yii\ |
getUniqueId() | Returns the unique ID of this action among the whole application. | yii\ |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the object. | yii\ |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
runWithParams() | Runs this action with the specified parameters. | yii\ |
setModule() | Sets the module that owns this action when invoked standalone. | yii\ |
trigger() | Triggers an event. | yii\ |
afterRun() protected | This method is called right after run() is executed. | yii\ |
beforeRun() protected | This method is called right before run() is executed. | yii\ |
resolveStandaloneParams() protected | Resolves the parameters of run() using the same HTTP-aware binder as Controller::bindActionParams(). | Action |
Method details
Section titled “Method details”resolveStandaloneParams()
Section titled “resolveStandaloneParams() ”protected function resolveStandaloneParams(array $params): arrayResolves the parameters of run() using the same HTTP-aware binder as Controller::bindActionParams().
Delegates to Controller::bindActionParamsToCallable() so scalar parameters are coerced and validated,
required parameters raise BadRequestHttpException, and typed services are autowired from the module and
the global container.
Populates Application::$requestedParams with the merged action and injected parameter descriptions,
mirroring the controller-bound dispatch.
Parameters
| Parameter | Type | Description |
|---|---|---|
$params | array | Route parameters to be bound to \. |
Returns
array: The positional argument list for the action’s \yii\web\run() method.