scu2008 / httpparsor
一个用于处理HTTP请求的PHP解析器
dev-master
2016-04-13 09:46 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-14 17:26:45 UTC
README
httpparser是一个用于处理HTTP请求数据的PHP解析器。其目的是解决一种HTTP内容类型,例如:application/json application/xml application/x-www-form-urlencoded multipart/form-data,尤其是在multipart/form-data类型。
我们都知道HTTP请求包含DELETE GET HEAD PATCH POST PUT。对于许多框架,如Laravel和Slim,使用php://input方法获取HTTP数据,但这并不是处理multipart/form-data(非POST方法,如PATCH、PUT)的理想方法。这种情况在RESTful模式中最为常见。
httpparser是一个处理HTTP请求数据的PHP解析器,通过httpparser来解析各种类型的HTTP请求数据,content-type为:application/json application/xml application/x-www-form-urlencoded multipart/form-data,尤其是在restful模式下面经常需要处理multipart/form-data,而且请求方式不为POST的情况。
特性
- 统一采用php://input方式获取数据
- 针对非POST方式时的multipart/form-data进行分块解析
- 文件或图片完全储存在内存中,操作速度非常快
类的说明
- http 全局处理HTTP请求
- parser 处理各种content-type
- collection 集合类
- body HTTP消息体
注意事项
- 当使用非POST方式上传文件时,不再使用$_FILES数组处理
- 当使用非POST方式上传文件时,文件内容不是以文件名的方式保存,而是以字符串的方式保存在内存中
示例
$httpparser = new \HttpParser\Http(); $method = $httpparser->getMethod(); if($method == 'GET'){ $queryParams = $httpparser->getQueryParams(); //get方式的获取数据 }else{ $parsedBody = $httpparser->getParsedBody(); //非get方式获取数据 }