Я создаю многофункциональную страницу для всех ошибок в приложении Laravl. Страница ошибок должна содержать макет для текущего пользователя: обычный пользователь, администратор и гость. Чтобы иметь возможность использовать Auth::check()
, я создал страницу ошибок, используя запасной маршрут.
Route::fallback(function () {
return view('errors.general', ['msg'=>'Error Description']);
});
И представление:
@php
if (Auth::guard('admin')->check())
$layout = "layouts.admin";
elseif (Auth::check())
$layout = "layouts.app";
else
$layout = "layouts.start";
@endphp
@extends($layout)
@section('content')
<div class="error-container">
<div class="error-box">
<div class="error-text">
{{ $msg }}
</div>
</div>
</div>
@endsection
Структура работает для 404 ошибок. Но что касается 500 ошибок, Laravel показывает 500 страниц по умолчанию. Как указать всем ошибкам использовать одно и то же представление с дополнительными сообщениями об ошибках.