azjezz / http-normalizer
标准化 Http 超全局变量
v1.1.0
2020-12-13 02:04 UTC
Requires
- hhvm: ^4.85
- hhvm/hhvm-autoload: ^3.0
- hhvm/hsl: ^4.41
- hhvm/type-assert: ^4.1
Requires (Dev)
- hhvm/hhast: ^4.0
README
标准化 Http 超全局变量。
安装
此软件包可以通过 Composer 安装。
$ composer require azjezz/http-normalizer
用法
标准化
标准化超全局变量:如
$_GET
、$_POST
、$_COOKIE
等
$_GET = [ 'a' => ['b' => '4'], 'c' => [0 => 4, 'c' => ['s' => ['f' => [0 => '3']]]], 'b' => '3', 'foo' => [0 => 'baz', 1 => 'qux'], ]; $query = AzJezz\HttpNormalizer\normalize($_GET); /** * dict [ * "a[b]" => "4", * "c[0]" => "4", * "c[c][s][f][0]" => "3", * "b" => "3", * "foo[0]" => "baz", * "foo[1]" => "qux", * ] */
标准化
$_FILES
超全局变量
$_FILES = [ 'slide-shows' => [ 'tmp_name' => [ 0 => ['slides' => [0 => 'tmpfoo', 1 => 'tmpbar']], ], 'error' => [0 => ['slides' => [0 => 0, 1 => 0]]], 'name' => [0 => ['slides' => [0 => 'foo.txt', 1 => 'bar.txt']]], 'size' => [0 => ['slides' => [0 => 123, 1 => 200]]], 'type' => [0 => ['slides' => [0 => 'text/plain', 1 => 'text/plain']]], ], ]; $files = AzJezz\HttpNormalizer\normalize_files($_FILES); /** * dict [ * "slide-shows[0][slides][0]" => shape( * 'tmp_name' => 'tmpfoo', * 'size' => 123, * 'error' => 0, * 'name' => 'foo.txt', * 'type' =>'text/plain', * ), * "slide-shows[0][slides][1]" => shape( * 'tmp_name' => 'tmpbar', * 'size' => 200, * 'error' => 0, * 'name' => 'bar.txt', * 'type' =>'text/plain', * ), * ] */
解析
解析 Http 请求体、查询字符串、Cookie 字符串等
$input = 'a=b&c[]=4&b=3&a[b]=4&c[c][s][f][]=3&foo[]=baz&foo[]=qux'; $query = AzJezz\HttpNormalizer\parse($input); /** * vec [ * "a[b]" => "4", * "c[0]" => "4", * "c[c][s][f][0]" => "3", * "b" => "3", * "foo[0]" => "baz", * "foo[1]" => "qux", * ] */
许可证
Http Normalizer 项目是开源软件,许可协议为 MIT 许可。