Laravel在控制器外部获取Route参数

时间:2016-06-19 18:33:24

标签: laravel laravel-5

我已经定义了这样的虚拟路线:

Route::get('sth/{v1}/{v2}' , [
    'uses'=>'SthController@sth',
]) ;

如何在控制器外获取 v1 v2 的值?

6 个答案:

答案 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']

等...