Class yii\web\ErrorAction
Inheritance | yii\web\ErrorAction » yii\base\Action » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/web/ErrorAction.php |
ErrorAction displays application errors using a specified view.
To use ErrorAction, you need to do the following steps:
First, declare an action of ErrorAction type in the actions()
method of your SiteController
class (or whatever controller you prefer), like the following:
public function actions()
{
return [
'error' => ['class' => 'yii\web\ErrorAction'],
];
}
Then, create a view file for this action. If the route of your error action is site/error
, then
the view file should be views/site/error.php
. In this view file, the following variables are available:
$name
: the error name$message
: the error message$exception
: the exception being handled
Finally, configure the "errorHandler" application component as follows,
'errorHandler' => [
'errorAction' => 'site/error',
]
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$controller | yii\base\Controller|yii\web\Controller | The controller that owns this action | yii\base\Action |
$defaultMessage | string | The message to be displayed when the exception message contains sensitive information. | yii\web\ErrorAction |
$defaultName | string | The name of the error when the exception name cannot be determined. | yii\web\ErrorAction |
$id | string | ID of the action | yii\base\Action |
$uniqueId | string | The unique ID of this action among the whole application. | yii\base\Action |
$view | string | The view file to be rendered. | yii\web\ErrorAction |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Object |
__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\Object |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Object |
__set() | Sets value of an object property. | yii\base\Object |
__unset() | Sets an object property to null. | yii\base\Object |
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\Object |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Object |
className() | Returns the fully qualified name of this class. | yii\base\Object |
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\Object |
hasProperty() | Returns a value indicating whether a property is defined. | yii\base\Object |
init() | Initializes the object. | yii\base\Object |
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\ErrorAction |
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 message to be displayed when the exception message contains sensitive information. Defaults to "An internal server error occurred.".
The name of the error when the exception name cannot be determined. Defaults to "Error".
The view file to be rendered. If not set, it will take the value of $id. That means, if you name the action as "error" in "SiteController", then the view name would be "error", and the corresponding view file would be "views/site/error.php".