您现在的位置是:首页 > 经验记录>Laravel日记>Laravel路由笔记,参数包含斜杠"/"如何处理?非必须参数如何定义? 网站首页 Laravel日记

Laravel路由笔记,参数包含斜杠"/"如何处理?非必须参数如何定义?

      

比如 https://www.justone.top/test/back/res (非真实路由)这个路由,我们的本意"back/res"是一个参数,即字符串,我们定义了一条路由为:

Route::get('test/{char}', 'TestController@show');

这种情况下,我们访问定义的路由(https://www.justone.top/test/back/res)会发现出现404错误,因为/back/res被框架拆分成了两个参数,要想正常使用这条路由,我们应该这样定义:

Route::get('test/{char}', 'TestController@show')
            ->where('char', '(.*)');

此时,你再访问路由,打印char参数,结果即为 "back/res";如下↓

此时 TestController 的 show 方法:

public function show($char){
    dd($char);
    }

打印结果:

"back/res"

路由中的非必须参数如何定义?如下↓

Route::get('test/{char?}', 'TestController@show');

参数内,加一个“?”号就行


文章评论

未开放
Top