как отправить сообщение с прерыванием в Laravel - PullRequest
0 голосов
/ 27 июня 2018

Я должен что-то прервать, если подпись недействительна, и я также хотел бы отправить сообщение представлению, которое его отображает. Я помню, что смог сделать что-то подобное в моем предыдущем проекте год назад. Но теперь, когда я пытаюсь это

    if (!$request->hasValidSignature()) {
        abort(401, 'Signature is not valid.');
    }

Я получаю сообщение о том, что сообщение $ недоступно

это определение функции прерывания, поэтому ясно, что она принимает сообщение в качестве ввода.

public function abort($code, $message = '', array $headers = [])
{
    if ($code == 404) {
        throw new NotFoundHttpException($message);
    }

    throw new HttpException($code, $message, null, $headers);
}

Интересно, почему я получаю эту ошибку тогда:

ErrorException (E_ERROR)
Undefined variable: message (View: 
C:\laragon\www\laraone\resources\views\errors\401.blade.php)

это часть моего 401.blade.php, который использует эту переменную ...

<div class="content">
    <div class="title">401</div>Unauthorized action, {{ $message }}
</div>

1 Ответ

0 голосов
/ 27 июня 2018

Используйте $exception->getMessage(). Из документов :

Экземпляр HttpException, вызванный функцией abort, будет передан в представление как переменная $exception: <h2>{{ $exception->getMessage() }}</h2>

Так в вашем случае:

<div class="content">
    <div class="title">401</div>Unauthorized action, {{ $exception->getMessage() }}
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...