Laravel 4输入:: all()附加到输入数组的请求路径?

时间:2013-02-17 13:52:08

标签: laravel laravel-4

全新安装L4:

Route.php

Route::post('/test', 'TestController@store');

TestController.php

class TestController extends Controller  {


        /**
         * Store a newly created resource in storage.
         *
         * @return Response
         */
        public function store()

        {

                print_r(Input::get());
                //
        }

}

卷曲网址

curl --data "param1=value1&param2=value2" http://example.com/test

输出

Array
(
    [param1] => value1
    [param2] => value2
    [/test] => 
)

请求URI在这里做什么?

PS:使用Nginx / Php-fpm堆栈应该重要。

2 个答案:

答案 0 :(得分:6)

原来是我正在使用的nginx干净网址摘要。改为:

 if (!-d $request_filename)
    {
        rewrite ^/(.*)$ /index.php?/$1 last;
    }

TO:

 try_files $uri $uri/ /index.php?$args;

它在上次更新之前工作正常但是。

答案 1 :(得分:1)

问题出在代码的其他地方,而不是Laravel 4。

我刚刚使用Laravel 4的最新测试版本运行了以下测试:

Route::post('/test', function()
{
    print_r($_POST);
    print_r(Input::get());
});

查看:

<h1>Test</h1>
<form method="post" action="">
    <input type="hidden" name="test1" id="test1" value="testfield1" />
    <input type="hidden" name="test2" id="test2" value="testfield2" />
    <button type="submit">Submit</button>
</form>

<强>结果:

Array ( [test1] => testfield1 [test2] => testfield2 )
Array ( [test1] => testfield1 [test2] => testfield2 )

您是否在代码中的任何其他位置使用输入类,可能是在之前的过滤器中?

在您的代码中尝试上面的代码测试 - 它会给您带来什么结果?