another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как корректно вернуть 404 код вместе со вьюхой?

Имеем контролер и в нем метод для страницы.
При отсутствии определенных данных необходимо возвращать 404 ошибку вместе с заранее сверстанной вьюхой.
На данный момент просто возвращается вьюха, без хедера с 404 кодом.
Код:
if (is_null($page)) {
    // Было так
    return view('system.errors.404');
    // Теперь так, однако хедеры не пишутся и возвращается 200 статус
    return response()->view('system.errors.404', [], 404);
}
  • Вопрос задан
  • 1175 просмотров
Решения вопроса 1
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Не знаю что у вас там не получается, но не надо разводить говнокод хелперами и прочей ересью.
return response(view('test'), 404);
Все решается одной строкой.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
another_dream
@another_dream Автор вопроса
Backend-разработчик, Laravel/ZF2/Yii2
В мануалах ничего дельного не нашел, поэтому написал небольшой хэлпер, аналог abort() именно для 404 статуса.
function abort404 ($code = 404, $message = '', array $headers = []) {
    header(' ', true, $code);
    return app()->abort($code, $message, $headers);
}

Если у кого еще остались идеи - отпишитесь, возможно есть более правильный подход к задаче.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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