Laravel 5 路由参数未发送

Laravel 5 route parameters not send

使用 Laravel 5 我无法设置获取路由参数。

我的路线是这样设置的:

Route::get('test', 'TestController@test');

我的 TestController 看起来像这样:

public function test(Request $request)
{
    var_dump($request->input('foo'));
}

当我浏览到带有参数的路由时

/test?foo=bar

结果为 NULL。

谁能告诉我我做错了什么?

Input::get('foo') 语法也不起作用(L5 的文档中甚至没有提到)。

更新:

我正在使用 Apache 作为网络服务器。

我也试过了

$request->get('foo')

还有这样的路线

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

使用相同的 URL 仍然得到 null。

更新二:

L5 的文档给出了这样的路由示例:

/test/bar

而不是

/test?foo=bar

在 L4 中,可以使用 GET 来浏览路由

/test?foo=bar&id=2&user=admin

或更改顺序

/test?id=2&user=admin&foo=bar

同一条路线

Route::get('test', 'TestController@test');

你所要做的就是用

得到它
Input::get('user')

但是在 L5 中,当您必须在路由中使用斜杠时,无法更改参数的顺序,例如

Route::get('test/{id}/{user}/{foo}', 'TestController@test');

这真的是 L5 路由的大降级吗?

你会试试这个吗?

use Request;

public function test(Request $request)
{
    var_dump($request->get('foo'));
}

在 laravel 5 中,您可以像这样将参数放入控制器方法中:

public function test(Request $request, $foo) { }

路线 - Route::get('test/{foo}', 'TestController@test');`

问题出在 .htaccess 文件上,我使用了一个已编辑的文件,但参数没有发送。

使用框架附带的默认 .htaccess 文件一切正常!