Класс yii\web\ErrorAction
| Наследование | yii\web\ErrorAction » yii\base\Action » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/web/ErrorAction.php |
ErrorAction отображает ошибки приложения с использованием указанного представления.
Для использования ErrorAction необходимо выполнить следующие шаги:
Во-первых, объявите действие типа ErrorAction в методе actions() вашего класса SiteController (или любого другого контроллера, который вы предпочитаете), как показано ниже:
public function actions()
{
return [
'error' => ['class' => 'yii\web\ErrorAction'],
];
}
Затем создайте файл представления для этого действия. Если маршрут вашего действия по обработке ошибок site/error, то файл представления должен быть views/site/error.php. В этом файле представления доступны следующие переменные:
-
$name: имя ошибки -
$message: сообщение об ошибке -
$exception: исключение, обрабатываемое в данный момент
Наконец, настройте компонент приложения "errorHandler" следующим образом,
'errorHandler' => [
'errorAction' => 'site/error',
]
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $controller | yii\base\Controller|yii\web\Controller | Контроллер, которому принадлежит этот action | yii\base\Action |
| $defaultMessage | строка | Сообщение, отображаемое, когда сообщение об исключении содержит конфиденциальную информацию. | yii\web\ErrorAction |
| $defaultName | строка | Название ошибки, когда имя исключения определить невозможно. | yii\web\ErrorAction |
| $id | строка | ID действия | yii\base\Action |
| $uniqueId | строка | Уникальный идентификатор этого действия в рамках всего приложения. | yii\base\Action |
| $view | строка | Файл представления, подлежащий рендерингу. | yii\web\ErrorAction |
Защищённые свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $exception | Исключение | Объект исключения, обычно заполняется при вызове метода init(). | yii\web\ErrorAction |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Action |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т. е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен действовать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все присоединенные к этому компоненту поведения. | yii\base\Component |
| getUniqueId() | Возвращает уникальный ID этого действия в рамках всего приложения. | yii\base\Action |
| hasEventHandlers() | Возвращает значение, указывающее, прикреплен ли обработчик к заданному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | {@inheritdoc} | yii\web\ErrorAction |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| run() | Выполняет действие. | yii\web\ErrorAction |
| runWithParams() | Выполняет это действие со указанными параметрами. | yii\base\Action |
| trigger() | Срабатывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| afterRun() | Этот метод вызывается сразу после выполнения run(). | yii\base\Action |
| beforeRun() | Этот метод вызывается сразу перед выполнением run(). | yii\base\Action |
| findException() | Получает исключение из компонента \yii\web\yii\web\ErrorHandler. | yii\web\ErrorAction |
| getExceptionCode() | Получает код из $exception. | yii\web\ErrorAction |
| getExceptionMessage() | Возвращает сообщение из $exception только для \yii\web\yii\base\UserException. | yii\web\ErrorAction |
| getExceptionName() | Возвращает имя исключения, за которым следует код (если он есть). | yii\web\ErrorAction |
| getViewRenderParams() | Создаёт массив параметров, которые будут переданы представлению. | yii\web\ErrorAction |
| renderAjaxResponse() | Создаёт строку, представляющую исключение. | yii\web\ErrorAction |
| renderHtmlResponse() | Отображает представление, представляющее исключение. | yii\web\ErrorAction |
Подробное описание свойств
$defaultMessage публичное свойство
Сообщение, которое будет отображаться, когда сообщение об исключении содержит конфиденциальную информацию. По умолчанию «Произошла внутренняя ошибка сервера».
public string $defaultMessage = null
$defaultName публичное свойство
Имя ошибки, когда имя исключения определить невозможно. По умолчанию «Ошибка».
public string $defaultName = null
$exception защищённое свойство (доступно начиная с версии 2.0.11)
Объект исключения, обычно заполняется при вызове метода init().
См. также [[findException()]] для получения информации о стандартном способе получения исключения.
protected Exception $exception = null
$view публичное свойство
Файл представления, подлежащий отображению. Если не задано, используется значение $id. То есть, если вы назвали действие "error" в "SiteController", то имя представления будет "error", а соответствующий файл представления — "views/site/error.php".
public string $view = null
Подробное описание методов
findException() защищённый метод (доступен начиная с версии 2.0.11)
Получает исключение из компонента \yii\web\yii\web\ErrorHandler.
В случае отсутствия исключения в компоненте, считается, что действие вызвало не из обработчика ошибок, а по прямому маршруту, поэтому будет отображаться ошибка '404 Not Found'.
| protected Exception findException ( ) |
|---|
getExceptionCode() защищённый метод (доступен начиная с версии 2.0.11)
Получает код из $exception.
| protected mixed getExceptionCode ( ) |
|---|
getExceptionMessage() защищённый метод (доступен начиная с версии 2.0.11)
Возвращает сообщение из $exception только для \yii\web\yii\base\UserException.
В других случаях возвращается $defaultMessage.
| protected string getExceptionMessage ( ) |
|---|
getExceptionName() защищённый метод (доступен начиная с версии 2.0.11)
Возвращает имя исключения, за которым следует код (если он есть).
| protected string getExceptionName ( ) |
|---|
getViewRenderParams() защищённый метод (доступен начиная с версии 2.0.11)
Создаёт массив параметров, которые будут переданы представлению.
| protected array getViewRenderParams ( ) |
|---|
init() публичный метод
{@inheritdoc}
| public void init ( ) |
|---|
renderAjaxResponse() защищённый метод (доступен начиная с версии 2.0.11)
Создаёт строку, представляющую исключение.
Обычно используется для создания ответа на AJAX-запрос.
| protected string renderAjaxResponse ( ) |
|---|
renderHtmlResponse() защищённый метод (доступен начиная с версии 2.0.11)
Отображает представление, представляющее исключение.
| protected string renderHtmlResponse ( ) |
|---|
run() публичный метод
Выполняет действие.
| public string run ( ) | ||
|---|---|---|
| возвращает | string |
Содержимое результата |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-erroraction.html