Laravel 路由按声明顺序进行匹配
示例
这是Laravel路线的常见陷阱。路由按照声明的顺序进行匹配。第一个匹配的路由是使用的路由。
该示例将按预期工作:
Route::get('/posts/{postId}/comments/{commentId}', 'CommentController@show');
Route::get('/posts/{postId}', 'PostController@show');的get请求/posts/1/comments/1将调用CommentController@show。的get请求/posts/1将调用PostController@show。
但是,此示例不能以相同的方式工作:
Route::get('/posts/{postId}', 'PostController@show');
Route::get('/posts/{postId}/comments/{commentId}', 'CommentController@show');的get请求/posts/1/comments/1将调用PostController@show。的get请求/posts/1将调用PostController@show。
由于Laravel使用第一个匹配的路由,因此请求进行/posts/1/comments/1匹配Route::get('/posts/{postId}','PostController@show');并将变量分配$postId给value1/comments/1。这意味着CommentController@show将永远不会被调用。
热门推荐
8 简短元宵节祝福语
10 姐姐生日精简祝福语简短
11 谢谢学校老师祝福语简短
12 紫玫瑰生日祝福语简短
13 虎年贺卡和祝福语简短
14 对情侣朋友祝福语简短
15 退休后祝福语简短护士
16 校庆祝福语简短独特
17 关于糖果的祝福语简短
18 孩子满月红包祝福语简短