php_modules / request-input
PHP REST API 的 HTTP 请求输入/体解析器。
1.0.1
2021-07-12 14:23 UTC
Requires
- php: >=5.6.20
- php_modules/core: ^1.0.2
- php_modules/xm1rray: ^1.0.2
- php_modules/yaml-lite: ^1.0.5
README
PHP REST API 的 HTTP 请求输入/体解析器。
这应该用作 REST API 中 HTTP 请求的体解析器;
假设 HTTP 请求可以通过不同的格式(如:XML、JSON、YAML 等)发送一些信息;Request Input 接受上述所有格式,并且可以通过创建自定义解析器进行补充。
安装
- 从提示命令行 [cmd]
composer require php_modules/request-input
- composer.json
{
"require": {
"php_modules/request-input": "^1.0.1"
}
}
使用
不使用 php-module
use Sammy\Packs\RequestInput; $request = new RequestInput; $body = $request->getRequestInput();
使用 php-module
$request = requires ('request-input'); $body = $request->getRequestInput();
'$body' 变量应根据请求体进行评估。
以下是 requestInput 支持的数据类型匹配列表。
JSON
{
"user": {
"name": "Foo",
"email": "foo@bar",
"site": "foobar.baz"
}
}
YAML
user: name: Foo email: foo@bar size: foobar.baz
XML
<user> <name>Foo</name> <email>foo@bar</email> <site>foobar.baz</site> </user>
以下任一请求体都应根据使用类型发送一个头;因此 RequestInput 可能会解析发送的请求体,以便在 PHP 中使用。
像 @Samils 这样的框架应自动解析它,并提供请求体作为 '$request' 对象的属性。
在 @Samils 控制器中使用它应如下所示
namespace Application\Controller; class SomeController extends SamiController { public function someAction () { # $requestBody = params; $user = params['user']; } }
因此,使用 RequestInput 的基本方法应帮助您解析发送到 REST API 的任何请求体。
...