我已经定义了这样的虚拟路线:
Route::get('sth/{v1}/{v2}' , [
'uses'=>'SthController@sth',
]) ;
如何在控制器外获取 v1 和 v2 的值?
答案 0 :(得分:11)
使用此代码
$current_params = Route::current()->parameters();
dd($current_params->v1) ;
答案 1 :(得分:4)
您可以在任意位置获取 v1 和 v2 的值:
request()->v1;
request()->v2;
答案 2 :(得分:0)
还没试过,但想到它的Route::current()
,可以从任何地方使用来访问参数
$currentParams = Route::current()->parameters();
答案 3 :(得分:0)
您可以在传递时将数据放入控制器中,然后从任何可以获取所需数据的位置开始,
Session::put('v1');
Session::put('v2');
现在您可以访问的任何地方:
Session::get('v1')
Session::get('v2')
如果您需要删除会话数据,请使用
Session::forget('v1')
Session::forget('v2')
答案 4 :(得分:0)
这可以是替代方式:
Route::getCurrentRoute()->getParameter('v1')
答案 5 :(得分:0)
在我的Laravel 5.6中是:
Route::current()->parameters['v1']
Route::current()->parameters['v2']
等...