Class yii\web\ErrorAction
继承 | yii\web\ErrorAction » yii\base\Action » yii\base\Component » yii\base\BaseObject |
---|---|
实现 | yii\base\Configurable |
可用版本自 | 2.0 |
源码 | https://github.com/yiichina/yii2/blob/api/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',
]
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$controller | yii\base\Controller|yii\web\Controller|yii\console\Controller | 拥有此操作的控制器 | 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 | yii\base\Action |
$layout | string|false|null | The name of the layout to be applied to this error action view. | yii\web\ErrorAction |
$uniqueId | string | 整个应用程序中此操作的唯一 ID。 | yii\base\Action |
$view | string | The view file to be rendered. | yii\web\ErrorAction |
受保护的属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
$exception | Exception | The exception object, normally is filled on init() method call. | yii\web\ErrorAction |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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() | 构造函数。 | 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() | 返回整个应用程序中此动作的唯一 ID。 | 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\web\ErrorAction |
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() | 使用指定的参数运行此动作。 该方法主要由控制器调用。 | yii\base\Action |
trigger() | Triggers an event. | yii\base\Component |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
afterRun() | 执行 run() 后立即调用此方法。
您可以重写此方法以对动作运行执行后处理工作。 |
yii\base\Action |
beforeRun() | 在执行 run() 之前调用此方法。
您可以重写此方法来为动作运行做准备工作。
如果该方法返回 false,将取消该动作。 |
yii\base\Action |
findException() | Gets exception from the \yii\web\yii\web\ErrorHandler component. | yii\web\ErrorAction |
getExceptionCode() | Gets the code from the $exception. | yii\web\ErrorAction |
getExceptionMessage() | Returns the $exception message for \yii\web\yii\base\UserException only. | yii\web\ErrorAction |
getExceptionName() | Returns the exception name, followed by the code (if present). | yii\web\ErrorAction |
getViewRenderParams() | Builds array of parameters that will be passed to the view. | yii\web\ErrorAction |
renderAjaxResponse() | Builds string that represents the exception. | yii\web\ErrorAction |
renderHtmlResponse() | Renders a view that represents the exception. | yii\web\ErrorAction |
属性详情
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 exception object, normally is filled on init() method call.
参见 [[findException()]] to know default way of obtaining exception.
The name of the layout to be applied to this error action view. If not set, the layout configured in the controller will be used.
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".
方法详情
Gets exception from the \yii\web\yii\web\ErrorHandler component.
In case there is no exception in the component, treat as the action has been invoked not from error handler, but by direct route, so '404 Not Found' error will be displayed.
protected Exception findException() |
Gets the code from the $exception.
protected mixed getExceptionCode() |
Returns the $exception message for \yii\web\yii\base\UserException only.
For other cases $defaultMessage will be returned.
protected string getExceptionMessage() |
Returns the exception name, followed by the code (if present).
protected string getExceptionName() |
Builds array of parameters that will be passed to the view.
protected array getViewRenderParams() |
Initializes the object.
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
public void init() |
Builds string that represents the exception.
Normally used to generate a response to AJAX request.
protected string renderAjaxResponse() |
Renders a view that represents the exception.
protected string renderHtmlResponse() |
Runs the action.
public string run() | ||
return | string | Result content |
---|