在全局限制路由参数值的类型

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

您可能希望路由里面的参数都是一种类型的,比如都是数字,或者都是字母,这样我们就不需要单独去限制每一个路由参数的值,可以在全局范围配置一下参数的值的类型 ..

先去掉单独为路由参数限制类型的代码 .. 就是这个 ->where ...

保存一下 .. 然后在 app/Providers 下面 ... 找到 RouteServiceProvider.php .

在这个 RouteServiceProvider 类的 boot 方法里面 .. 可以去设置一下路由参数的类型 .. 使用 $router 的 pattern 方法 .. 这个方法有两个参数 .. 第一个参数是要设置的参数 .. 先设置一下 movie_id 这个参数 .. 第二个参数是它的值的类型 .. 我们让这个 movie_id 只能是数字 .. 用一个 [0-9]+

再用一下这个方法 .. 设置一下其它的参数的类型 .. 把这个 movie_id 换成 review_id .. 保存 ... 到浏览器上试一下 .. movie/1/review/1 .. 没有问题 .. 因为 movie_id 还有 review_id 的参数的值都是数字 ..

这次把 movie_id 的值换成一串字符 .. up ... 这回就不行了 .. 因为我们在全局范围已经限制了 movie_id 这个参数的值的类型只能是数字 ...

在全局限制路由参数值的类型《 Laravel 5:路由 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点