Laravel 5.1从漂亮的URL获取变量到Request对象

时间:2015-09-30 06:33:32

标签: php laravel get

我在Laravel 5.1中有一个控制器方法,它接受GET和POST请求。

我必须将一些变量传递给该方法。

所以我按这样传递变量:

http://localhost/<methodName>/<var1 value>/<var2 value>

我希望Laravel的Request对象填充这些变量。

我当然能做到:

http://localhost/<MethodName>?var1=var1_value&var2=var2_value

但是我想保留前面提到的漂亮网址,并且仍然可以填充Request对象。

public function methodName(Request $request)
{
    dd($request);
}

这会返回一个空数组。

是的,我可以这样做:

public function methodName(Request $request, $var1= "", $var2 = "")
{
    dd($var1." ".$var2);
}

这将返回变量,但我真的希望尽可能填充Request对象。

我使用的路线是:

 Route::match(['get', 'post'],
 '/<method-name>/{<var1_value>?}/{<var2_value>?}/{<var3_value>?}',
 '<ControllerName>@<methodName>');

发布变量不是问题。

1 个答案:

答案 0 :(得分:3)

在你的控制器中,在$ request对象上使用route()函数。

$request->route('var1');

当然,参数名称必须与您在routes.php

中定义的名称相匹配
Route::get('your/route/{var1}/{var2}','YourController@method');