我知道可以使用 $request->get('my_param')
或 Input::get('my_param')
来获取 POST 或 GET 请求Laravel 中的参数(我现在正在玩 v5/dev 版本,但它与 4.2 相同)。
但是我如何才能确保我的 my_param
是通过 POST 参数来的,而不仅仅是来自附加到 URL 的 ?my_param=42
?(除了恢复到 ol'$_POST
和 $_GET
超全局变量并将可测试性抛到窗外)
(注意:我也知道 Request::get
方法会给我一个 POST 请求的 POST 参数,如果 POST 和 URL/GET 参数都存在同名的话,但是...但是如果参数通过 url 查询字符串登陆,我想要一个 Laravel 惯用的方式来了解这一点)
最佳答案
在 Illuminate\Http\Request
类(或者实际上是它从 Symfony\Component\HttpFoundation\Request
扩展的 Symphony 类)中有两个存储请求的类变量参数。
public $query
- 获取参数
public $request
- 用于 POST 参数
两者都是 Symfony\Component\HttpFoundation\ParameterBag
的实例,它实现了 get
方法。
这是你可以做的(虽然不是很漂亮)
$request = Request::instance();
$request->request->get('my_param');
关于php - 在 Laravel 中,如何获取 *only* POST 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27366243/