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

Функция abort_unless

Функция abort_unless применяется для прерывания выполнения запроса и возврата HTTP-ошибки, если заданное условие не выполняется. Первым параметром передаётся условие, вторым - код HTTP-статуса, третьим - сообщение об ошибке. Если условие истинно, выполнение продолжается, в противном случае вызывается исключение.

Синтаксис

<?php abort_unless($condition, $statusCode, $message = ''); ?>

Пример

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

<?php namespace AppHttpControllers; use AppModelsUser; class ArticleController extends Controller { public function show($id) { $user = User::find($id); abort_unless($user, 401, 'User not authorized'); return view('profile', ['user' => $user]); } } ?>

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

HTTP/1.0 401 Unauthorized User not authorized

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

<!-- Отображается страница профиля пользователя -->

Пример

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

<?php namespace AppHttpControllers; use AppModelsUser; class AdminController extends Controller { public function dashboard() { $user = User::find(auth()->id()); abort_unless($user->is_admin, 403, 'Access denied'); return view('admin.dashboard'); } } ?>

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

HTTP/1.0 403 Forbidden Access denied

Пример

Давайте проверим, существует ли статья, и если нет - вернём ошибку 404:

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

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

HTTP/1.0 404 Not Found Article not found

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

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