Laravel 5.1 从 pretty URL 获取变量到 Request 对象

Laravel 5.1 get variable from pretty URL to Request object

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

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

所以我会像这样传递变量:

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

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

当然可以:

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

但我想保留前面提到的 url 并且仍然能够填充 Request 对象。

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

这个return一个空数组。

是的,我可以这样做:

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

这将 return 变量,但如果可能的话,我真的很想填充 Request 对象。

我使用的路线是:

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

Post变量不是问题。

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

$request->route('var1');

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

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