ViewAction
API reference › yii › web › ViewAction
ViewAction represents an action that displays a view according to a user-specified parameter.
By default, the view being displayed is specified via the view GET parameter.
The name of the GET parameter can be customized via $viewParam.
Users specify a view in the format of path/to/view, which translates to the view name ViewPrefix/path/to/view
where ViewPrefix is given by $viewPrefix. The view will then be rendered by the
render() method of the currently active controller.
Note that the user-specified view name must start with a word character and can only contain word characters, forward slashes, dots and dashes.
Not standalone-compatible: this action requires a hosting controller because rendering and layout resolution are
performed through the controller. Register it via Controller::actions() rather than
Module::$actionMap.
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\ |
$defaultView | string | The name of the default view when ViewAction::$viewParam GET parameter is not provided by user. Default: 'index'. | ViewAction |
$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\ |
$layout | mixed | The name of the layout to be applied to the requested view. Default: null. | ViewAction |
$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\ |
$viewParam | string | The name of the GET parameter that contains the requested view name. Default: 'view'. | ViewAction |
$viewPrefix | string | A string to be prefixed to the user-specified view name to form a complete view name. Default: 'pages'. | ViewAction |
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\ |
run() | Runs the action. | ViewAction |
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\ |
render() protected | Renders a view. | ViewAction |
resolveStandaloneParams() protected | Resolves typed parameters of run() when the action is invoked without a hosting controller. | yii\ |
resolveViewName() protected | Resolves the view name currently being requested. | ViewAction |
Property details
Section titled “Property details”$defaultView
Section titled “$defaultView ”public string $defaultView = 'index'The name of the default view when ViewAction::$viewParam GET parameter is not provided by user.
Defaults to ‘index’. This should be in the format of ‘path/to/view’, similar to that given in the GET parameter.
$layout
Section titled “$layout ”public mixed $layout = nullThe name of the layout to be applied to the requested view.
This will be assigned to Controller::$layout before the view is rendered.
Defaults to null, meaning the controller’s layout will be used.
If false, no layout will be applied.
$viewPrefix
Section titled “$viewPrefix ”public string $viewPrefix = 'pages'A string to be prefixed to the user-specified view name to form a complete view name.
For example, if a user requests for tutorial/chap1, the corresponding view name will
be pages/tutorial/chap1, assuming the prefix is pages.
The actual view file is determined by View::findViewFile().
Method details
Section titled “Method details”run()
Section titled “run() ”public function run(): mixedRuns the action.
This method displays the view requested by the user.
render()
Section titled “render() ”protected function render(string $viewName): stringRenders a view.
Parameters
| Parameter | Type | Description |
|---|---|---|
$viewName | string | View name |
Returns
string: Result of the rendering
resolveViewName()
Section titled “resolveViewName() ”protected function resolveViewName(): stringResolves the view name currently being requested.
Returns
string: The resolved view name
Throws
NotFoundHttpException: if the specified view name is invalid