scu2008/httpparser

一个用于处理HTTP请求的PHP解析器

dev-master 2016-04-13 09:46 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:26:59 UTC


README

httpparser是一个PHP解析器,用于处理HTTP请求数据。其目的是解决一种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数据,而对于非POST方法(如PATCH、PUT),这并不适合处理multipart/form-data。它最常见于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方式获取数据
}