php - 在 Laravel 中,如何获取 *only* POST 参数?

标签 php laravel http-post laravel-request

我知道可以使用 $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/

相关文章:

php - 无法从 Linux 中的 HTMl 提交按钮运行 PHP 脚本

c# - ASP Core 2 空 POST 请求

php - 使用 Laravel 4 的 Intervention\Image\Exception\NotWritableException

mysql - Laravel 5 - 用组合结果 Eloquent 地加入 3 个表

Php artisan 无法迁移

javascript - 是否可以使用 HTTP PUT 提交表单数据?

java - Spring Boot 和 Spring Security 自定义登录页面和 Controller

php - Apache (PHP) 和 Mysql - 理想的 2 服务器设置

php - while 循环如何与 mysqli_fetch_assoc() 一起工作?

php - 如何将这个 <ul> 居中?