2013-02-17 70 views
1

在一个新的L4的安装:Laravel 4 Input :: all()将请求路径附加到输入数组?

Route.php

Route::post('/test', '[email protected]'); 

TestController.php

class TestController extends Controller { 


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

     { 

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

} 

冰壶URL

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

输出

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

什么是请求URI来这里干什么? PS:使用Nginx/Php-fpm堆栈应该很重要。

回答

6

原来是我使用的ngixn clean URL片段。

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

TO:从改成了

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

,它正在最后一次更新之前罚款,但。

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) 

您是否在代码中的其他任何地方使用输入类,或许是在过滤器之前?

在你的代码中试试上面的代码测试 - 它给你什么结果?

+0

感谢您的输入,我确实尝试了全新的安装并且工作正常,现在奇怪的是我从应用程序的所有代码中仅留下了一个测试控制器,并且仍然不断收到此错误。我似乎无法将其缩小到它发生的位置。 – silkAdmin 2013-02-17 14:10:24

+0

您最近是否做过作曲家更新,忘记更新应用程序核心本身? – Laurence 2013-02-17 14:13:48

+0

是的一切都是最新 – silkAdmin 2013-02-17 14:17:00