laravel 记录开发过程一个路由问题(参数正则限制)

背景:用户个人资料页(其他用户可查看)和个人中心页路由问题

(写在前面:可能是我菜,大佬们轻喷)

记录开发过程一个路由问题

Route::get('/user/info', 'UsersController@userInfo');

Route::get('/user/{id}', 'UsersController@userHome');

顺位之后

/user/info 路由会调起userHome方法

本作品采用《CC 协议》,转载必须注明作者和本文链接
it_cwc
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 8

我也遇到过类似的场景,这个顺位问题是可以通过路由的正则约束功能规避的。

文档指路:路由《Laravel 5.5 中文文档》

深入一下的话,如果顺位的前一个是个资源路由,在 PUT DELETE 这种资源后面拼 id 的情况我就不知道怎么避免了,粗暴的解决的话改顺位或者换路由......

3年前 评论
jcc123

我这样规避的

/user/{id}/show
3年前 评论

laravel 的路由文件是根据正则从上往下走的,这两个的路由正则是一样的,因此那个在前走那个,解决办法有两个 调换路由顺序,或者给id的这个路由添加路由正则

3年前 评论

@Molin 找到了,谢大佬指点

file

Route::resource('users', 'UsersController'); 一般我很少用到资源路由了 :speak_no_evil:

3年前 评论
陈先生

后面加上限制条件 , id 只能为int

3年前 评论

Route::get('/user/{id}', 'UsersController@userHome');写到前面

3年前 评论

大佬大佬,学到了 :heart:

3年前 评论
颠倒的玉石

加个正则什么的或者在家一个参数,{id}对程序来说id只是一个变量的名字,可以使数字也可以是字符串info。下面的肯定会覆盖上面的。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!