中真的有一个没有文档的特性可以将JSON体解码为$_REQUEST?
和PHP is automatically decoding JSON data?不一样
我正在PHP中创建一个API来接收FormData和JSON中的参数。当我在POSTMAN中进行测试时,PHP会用content-type:application/json自动解码POST体到$_REQUEST。
我整个下午都在测试它,不知道它是怎么可能的。
这是员额请求:
curl -X POST \
http://xxxxx.com/api/user/profile/update \
-H 'content-type: application/json' \
-d '{
"id" : 174,
"email" : "reed@xxxxx.com",
"lang": "en_US",
}'这就是我在PHP中得到的
var_dump($_REQUEST)
//output
'id' => int 174
'email' => string 'reed@xxxxx.com' (length=19)
'lang' => string 'en_US' (length=5)我看到妄想了吗??
如果我将POST内容类型更改为任何不是application/json,的内容类型,则不会发生自动解码。
我正在使用PHP5.6 + Phalcon 3.1。都没有提到任何关于自动解码JSON的内容。
这是我的composer.json,我不认为任何这些包都能做到这一点。
"require": {
"twilio/sdk" : "4.*",
"crossjoin/browscap": "~2.0",
"mixpanel/mixpanel-php" : "2.*",
"guzzlehttp/guzzle": "^6.2",
"geoip2/geoip2": "~2.0",
"overtrue/wechat": "~3.1",
"mongodb/mongodb": "^1.0.0",
"symfony/var-dumper": "^3.1",
"maxmind-db/reader": "~1.0",
"pda/pheanstalk": "^3.1",
"nesbot/carbon": "^1.21",
"sendgrid/sendgrid": "~5.1",
"ramsey/uuid": "^3.5",
"phpmyadmin/motranslator": "^3.0"
}尽我最大的努力在谷歌上搜索。有人能给我指一份有解释的文件吗?
发布于 2017-05-03 16:48:10
我想出来了。它是PECL ::Package ::json_post
这个扩展为PHP的表单数据解析器提供了"application/json“和"text/json”的PHP内容类型处理程序。如果传入请求的
Content-Type是text/json,请求主体的JSON内容将被解析为$_POST。
我使用remi在centos上安装PHP。它是随我安装的PHP5.6而来的
https://stackoverflow.com/questions/43746571
复制相似问题