Laravel 5.2中的abort()函数无法正常工作

4

我想使用 abort 函数但它不能正常工作。这是我正在使用的代码,当前在 Laravel 5.2 上运行。

Route::get('/test',function(){
abort(403);
});

它会生成以下错误:

Application.php文件的第905行出现HttpException异常:

我想问这个函数是否仍然可用,或者我做错了什么。


为什么你在使用403状态码? - Akbar Mirsiddikov
我只是在测试这个方法,但无论是403还是404都没有成功。 - habib
3个回答

3

对于来自 ~4.x abort调用,显示异常屏幕是预期行为:https://github.com/laravel/framework/issues/912

使用状态代码response

Route::get('/test',function(){
  return response(null, 403);
});

使用 abort 函数: abort

使用 response(null, 403) 函数: response


谢谢您的第二个建议,它确实有效,但我现在不想禁用调试模式。 - habib
@habib 说实话,我从来不使用 abort 调用。我使用响应辅助程序。这更加可预测。 - num8er

2

使用response()辅助方法代替abort()。语法如下:

return response("User can't perform this action.", 403);

2

1
问题已解决。显然只是缺少了一个用于错误404的视图。在添加了resources/views/errors/403.blade.php页面后,它将调用该页面。我的Laravel默认只带有一个503.blade.php错误页面,所以这与角色无关:D - num8er

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接