当我尝试用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');
有没有想过在不删除此条件的情况下如何获取路线列表?
这很正常,因为您的命令行调用不是ajax
在这种情况下,它进入该条件并进行调用[SymfonyComponentHttpKernelExceptionHttpException]
的中止(403)
如果你想在不删除此条件的情况下获得路由列表,你可以用这样的东西覆盖AppExceptionsHandler
中的渲染函数:
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