天天看点

TP5路由配置遇到的一个小问题

如果在URL后传参比如...../:id和....../recent两个

1.如果recent在前 那么传参,和recent接口都可以

2.如果/:id在前,那么recent就不可以了

因为TP5匹配路由是顺讯匹配的,当输入recent时,他会认为吧recent放入id的匹配,这样不会同过验证器。以为它会任务recent是上面的格式,就不会匹配到下面了。

解决方案:recent不是可变参数是常量,/:id是变量,所以我们路由需要知道最后一个参数是正整数。对这个id需要有限定。

在route::get('url','地址',[],[‘id’=>‘\d+’]);

第三个我们不管,第四个是对参数的限定,就是变量规则,指定id是正整数即可,就是个正则表达式

可以通过不同正则表达式替换id不同规则