rol*_*o85 5 php controller routes laravel
在route.php中,我定义了一个到控制器的路由,上面有2个令牌.
Route::get('/{category}/{slug}', 'projectController@detail');
Run Code Online (Sandbox Code Playgroud)
一切正常,直到调用一个具有相同结构但与必须被下面所示的路由捕获的URL无关的URL.
因此,当我有例如"/admin/tags"
,下面的控制器被触发,因为它具有相同的结构"/{category}/{slug}"
,当然它给我一个错误,因为它没有找到变量.
所以现在我修复了在底部移动该路线的问题,但我相信我必须提前做一些事情以防止这种行为,因为如果我有多个具有不同令牌的路线,那么每次都会触发一切并且会出现混乱.
那么,在这些情况下它应该做什么呢?
PS我是Laravel的超级初学者
对路由使用一些约束,参考parameters-regular-expression-constraints。例如:
Route::get('user/{name}', function ($name) {
//
})
->where('name', '[A-Za-z]+');
Run Code Online (Sandbox Code Playgroud)
或者你可以先说最具体的,然后再说不具体的。例如,按照以下顺序:
Route::get("/admin/tags", '......');
Route::get('/{category}/{slug}', 'projectController@detail');
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
416 次 |
最近记录: |