РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
432 of 1392 menu

Функция abort

Функция abort применяется в контроллерах, маршрутах или middleware для остановки выполнения запроса при возникновении ошибки или недопустимых условий. Первым параметром передаётся HTTP-код состояния, вторым - сообщение для ответа, третьим - массив заголовков. По умолчанию функция возвращает ответ с кодом 500.

Синтаксис

<?php abort($code, $message, $headers); ?>

Пример

Давайте прервём выполнение запроса с кодом 404, если запись не найдена:

<?php namespace AppHttpControllers; use AppModelsArticle; class ArticleController extends Controller { public function show($id) { $article = Article::find($id); if (!$article) { abort(404, 'Article not found'); } return view('article', ['article' => $article]); } } ?>

Результат выполнения кода:

"404 Not Found - Article not found"

Пример

Давайте вернём ошибку 403, если пользователь не является администратором:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class AdminController extends Controller { public function dashboard(Request $request) { if (!$request->user()->isAdmin()) { abort(403, 'Access denied'); } return view('admin.dashboard'); } } ?>

Результат выполнения кода:

"403 Forbidden - Access denied"

Пример

Давайте используем функцию abort с заголовками для JSON-ответа:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class ApiController extends Controller { public function getUser($id) { $user = User::find($id); if (!$user) { abort(404, 'User not found', [ 'X-Error-Code' => 'USER_NOT_FOUND', 'Content-Type' => 'application/json' ]); } return response()->json($user); } } ?>

Результат выполнения кода:

"404 Not Found - User not found" "Headers: X-Error-Code: USER_NOT_FOUND"

Смотрите также

  • функция abort_if,
    которая выполняет проверку условия перед прерыванием
  • функция abort_unless,
    которая прерывает выполнение, если условие ложно
  • функция response,
    которая создаёт HTTP-ответ с указанным содержимым
  • функция redirect,
    которая выполняет перенаправление на другой URL
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить