# Class yii\web\ViewAction

Inheritance | yii\web\ViewAction » yii\base\Action » yii\base\Component » yii\base\BaseObject
Implements | yii\base\Configurable
Available since version | 2.0
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/ViewAction.php

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.

## Public Properties

Hide inherited 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
$defaultView | string | The name of the default view when yii\web\ViewAction::$viewParam GET parameter is not provided by user. | yii\web\ViewAction
$id | string | ID of the action | yii\base\Action
$layout | mixed | The name of the layout to be applied to the requested view. | yii\web\ViewAction
$uniqueId | string | The unique ID of this action among the whole application. This property is read-only. | yii\base\Action
$viewParam | string | The name of the GET parameter that contains the requested view name. | yii\web\ViewAction
$viewPrefix | string | A string to be prefixed to the user-specified view name to form a complete view name. | yii\web\ViewAction

## Public Methods

Hide inherited methods

Method | Description | Defined By
--- | --- | ---
__call() | Calls the named method which is not a class method. | yii\base\Component
__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 a component property. | yii\base\Component
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component
__set() | Sets the value of a component property. | yii\base\Component
__unset() | Sets a component property to be null. | yii\base\Component
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\Component
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component
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\Component
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component
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
run() | Runs the action. | yii\web\ViewAction
runWithParams() | Runs this action with the specified parameters. | yii\base\Action
trigger() | Triggers an event. | yii\base\Component

## Protected Methods

Hide inherited 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
render() | Renders a view. | yii\web\ViewAction
resolveViewName() | Resolves the view name currently being requested. | yii\web\ViewAction

## Property Details

$defaultView public property

The name of the default view when yii\web\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.

See also yii\web\ViewAction::$viewPrefix.

public string $defaultView = 'index'
$layout public property

The name of the layout to be applied to the requested view. This will be assigned to yii\base\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.

public mixed $layout = null
$viewParam public property

The name of the GET parameter that contains the requested view name.

public string $viewParam = 'view'
$viewPrefix public property

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 yii\base\View::findViewFile().

See also yii\base\View::findViewFile().

public string $viewPrefix = 'pages'

## Method Details

render() protected method

Renders a view.

protected string render ( $viewName )
$viewName | string | View name
return | string | Result of the rendering

resolveViewName() protected method

Resolves the view name currently being requested.

protected string resolveViewName ( )
return | string | The resolved view name
throws | yii\web\NotFoundHttpException | if the specified view name is invalid

run() public method

Runs the action.

This method displays the view requested by the user.

public void run ( )
throws | yii\web\NotFoundHttpException | if the view file cannot be found