在Laravel中,我怎样才能获得* * * POST参数?

时间:2014-12-08 20:24:09

标签: php laravel http-post laravel-request

我知道可以使用$request->get('my_param')Input::get('my_param')在Laravel中获取POST或GET请求参数(我现在正在使用v5 / dev版本,但对于4.2来说它是相同的)。

但是,我怎样才能确保我的my_param来自POST参数而不只是来自?my_param=42附加到网址?(除了还原为ol “$_POST$_GET超级全局并将可测试性抛到窗外”

(注意:我也知道Request::get方法会给我一个POST请求的POST参数,如果POST和一个同名的URL / GET参数都存在,但是......但是如果param登陆通过url查询字符串代替,我想用Laravel-idiomatic方式来了解这一点)

2 个答案:

答案 0 :(得分:17)

在类Illuminate\Http\Request(或实际上是从Symfony\Component\HttpFoundation\Request扩展的Symphony类)中,有两个存储请求参数的类变量。

public $query - 用于GET参数

public $request - 用于POST参数

两者都是Symfony\Component\HttpFoundation\ParameterBag的实例,它实现了get方法。

这里有你能做什么(虽然它不是很漂亮)

$request = Request::instance();
$request->request->get('my_param');

答案 1 :(得分:-3)

为什么当你可以轻松地做你需要的事情时,试图让事情变得复杂:

$posted = $_POST;