我知道可以使用$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方式来了解这一点)
答案 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;