Маршрут Laravel 5.1: список разрывов на контроллере AJAX-проверка

Когда я пытаюсь получить список маршрутов в командной строке с php artisan route:list я получаю эту ошибку:
[Symfony \ Component \ HttpKernel \ Exception \ HttpException]

Похоже, конструктор моего AjaxController создает исключение для каждого маршрута Ajax. Как будто входит в это условие !$request->ajax() и ломает этот рабочий CLI.

Конструктор AjaxController

public function __construct(Request $request)
{
if (!$request->ajax())
{
abort(403);
}
}

маршрут

Route::controller('ajax', 'AjaxController');

Любые мысли, как я мог получить список маршрутов, не снимая это условие?

0

Решение

Это нормально, потому что ваш вызов командной строки не является ajax.
В этом случае он входит в условие и выполняет прерывание (403), которое вызывает [Symfony\Component\HttpKernel\Exception\HttpException],

Возможно, если вы хотите, чтобы список маршрутов не удалялся, вы можете переопределить функцию рендеринга в App\Exceptions\Handler с чем-то вроде этого:

    public function render($request, Exception $e)
{
if (view()->exists('errors.'.$e->getStatusCode()))
{
return response()->view('errors.'.$e->getStatusCode(), [], $e->getStatusCode());
}
else
{
return parent::render($request, $e);
}
}

Увидеть https://mattstauffer.co/blog/laravel-5.0-custom-error-pages

1

Другие решения

Других решений пока нет …