Я столкнулся с проблемой - я не могу отобразить пользовательское представление для ошибки Laravel 5.8 404.
У меня есть файл resources/views/errors/404.blade.php
, который я хочу показать посетителям.
Согласнок документации Laravel (https://laravel.com/docs/5.8/errors#custom-http-error-pages) больше ничего не требуется, настраиваемое представление для 404 ошибок должно отображаться без проблем.
У меня есть поставщик услуг, вот его boot
метод:
public function boot ()
{
abort (404); // if i generate a 404 error from here, everything works fine and 404.blade.php is displayed without problems
View :: composer (['*'], function ($view) {
abort (404); // but if i generate a 404 error from here, it displays NotFoundHttpException
});
Оказывается, что вызов abort (404)
из анонимной функции не позволяет отображать пользовательское представление при ошибке 404 ???
ОБНОВЛЕНИЕ
если я генерирую ошибку 404 из анонимной функции, я получаю следующее исключение:
Symfony\Component\Debug\Exception\FatalErrorException thrown with message "Uncaught Symfony\Component\HttpKernel\Exception\NotFoundHttpException in C:\Downloads\OSPanel\domains\site.com\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:992
Stack trace:
#0 C:\Downloads\OSPanel\domains\site.com\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php(46): Illuminate\Foundation\Application->abort(404, '', Array)
#1 C:\Downloads\OSPanel\domains\site.com\app\Providers\SiteViewServiceProvider.php(70): abort(404)
#2 C:\Downloads\OSPanel\domains\site.com\app\Providers\SiteViewServiceProvider.php(42): App\Providers\SiteViewServiceProvider->getAntiLocaleURL()
#3 C:\Downloads\OSPanel\domains\site.com\vendor\laravel\framework\src\Illuminate\View\Concerns\ManagesEvents.php(164): App\Providers\SiteViewServiceProvider->App\Providers\{closure}(Object(Illuminate\View\View))
#4 C:\Downloads\OSPanel\domains\site.com\vendor\laravel\framework\src\Illuminate\Events\Dispatcher.php(344): Illuminate\View\Factory->Illuminate\View\Concerns\{closure}('composing: erro...', Array)
#5 C:\Do"
Stacktrace:
#0 Symfony\Component\Debug\Exception\FatalErrorException in C:\Downloads\OSPanel\domains\site.com\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:992