注意: 如果在数据库中无法匹配到对应的模型实例,404错误将被抛出。
如果你希望自定义"not found"行为,可以通过传递一个闭包函数作为 model 方法的第三个参数:
复制代码 代码如下:
Route::model('user', 'User', function()
{
throw new NotFoundException;
});
如果你想自己实现路由参数的解析,只需使用Route::bind方法即可:
复制代码 代码如下:
Route::bind('user', function($value, $route)
{
return User::where('name', $value)->first();
});
抛出 404 错误
有两种从路由中手动触发404错误的方法。首先,你可以使用App::abort方法:
复制代码 代码如下:
App::abort(404);
其次,你可以抛出Symfony\Component\HttpKernel\Exception\NotFoundHttpException异常。
更多关于处理404异常以及错误发生时自定义response的信息可以查看错误文档。
控制器路由
Laravel不光提供了利用闭包函数处理路由的功能,还可以路由到控制器,甚至支持创建 resource controllers。
您可能感兴趣的文章: