<?php

namespace app\controllers;

use Yii;
use yii\web\Controller;

class ErrorController extends Controller
{
    public function actionIndex()
    {
        $exception = Yii::$app->errorHandler->exception;

        if ($exception !== null) {
            // Исключение не выброшено

            // Запись кода ошибки
            $statusCode = $exception->statusCode;

            // Запись названия ошибки
            $name = match ($exception->statusCode) {
                404 => '404 (Не найдено)',
                default => $exception->getName()
            };

            // Запись сообщения об ошибке
            $message = match ($exception->statusCode) {
                404 => 'Страница не найдена',
                default => $exception->getMessage()
            };

            return $this->render('/error', compact('exception', 'statusCode', 'name', 'message'));
        }
    }
}
