Задать вопрос

Как в Yii2 выводить несколько типов ошибок 404?

Здравствуйте, у меня в yii2 есть 2 контроллера, один работает на веб сайта, а второй на REST API, и вопрос, как мне обработать по разному 404, что бы на контроллере API выводить JSON строку о том что метод не найден, а на контроллере веб сайта страницу 404? (метод actionError не помогает)
Контроллер веб =>
class AdminController extends \yii\web\Controller
{
    public function beforeAction($action)
    {

        if(!(\Yii::$app->session->has('is_admin'))) {
            $this->layout = null;
            $this->action->actionMethod = 'actionEnterAdmin';
        }
        return parent::beforeAction($action);
    }
    /* Вот этот контроллер должен сработать если не найдена страница по идеи... */
    public function actionError() {
        $this->render('error');
    }
}

Контроллер Api =>
class ApiController extends \yii\web\Controller
{
    /* Вот этот контроллер должен сработать если не найдена страница по идеи... */
    public function actionError() {
        \Yii::$app->response->format = Response::FORMAT_JSON;

        return [
            'error' => [
                'code' => 404,
                'text' => 'method is not found'
            ]
        ];
    }
}

Все файлы контроллеров находятся в папке controllers.

P.S Отключил в конфигурации web.php свойство errorHandler
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы