femastudios/http-utils

PHP 的枚举和基本 HTTP 工具集

v1.0.1 2021-07-06 21:45 UTC

This package is auto-updated.

Last update: 2024-09-07 04:38:22 UTC


README

这个库是一个用于简化 HTTP 请求处理的简单类集。

安装

作为 composer 包 femastudios/http-utils 提供。需要 PHP 7.3 或更高版本。

内容与用法

核心

非常基础的类。枚举器使用 femastudios/enums 库声明。

  • HttpRequestMethod:定义常用请求方法的枚举器(例如 GETPOST 等)。它们还具有一些属性(例如是否可缓存)
  • HttpResponseCode:定义常用响应代码的枚举器(例如 SUCCESSNOT_FOUNDFORBIDDEN 等)。它们具有数字代码和标准消息。
  • HttpResponseCodeType:定义响应代码类型的枚举器(例如 INFORMATIONALSUCCESSFULREDIRECTIONCLIENT_ERRORSERVER_ERROR
  • HttpException:封装 HttpResponseCode 枚举器的异常类,用于在更高级别处理需要处理的 HTTP 响应代码。

头部工具

这些工具允许更好地处理请求和响应 HTTP 头部。

  • RequestHeaderUtils:包含用于读取请求者发送的头部(即使在未定义 getallheaders() 的上下文中,如 FPM)的函数。
  • ResponseHeaderUtils:包含用于添加和读取要发送的头部(也支持逗号分隔值,可以在不同的调用中添加)的函数。

示例用法

RequestHeaderUtils::get('Content-Type', 'none'); // Get the header, or default value

ResponseHeaderUtils::put('Content-Type', 'application/json'); // Put the header or throws if they have already been sent
ResponseHeaderUtils::addCsv('Vary', 'Origin'); // Treats the header value as a comma-separated value and adds "Origin"

上传文件工具

这里有一些帮助处理文件上传的实用程序。此实用程序的主要原因是

  1. 用异常处理错误;
  2. 解开当参数名称嵌套时的 $_FILES 数组混乱。有关更多信息,请参阅 UploadedFilesUtils::getReorderedFiles() 的文档。

类包括

  • UploadedFile:包含单个上传文件的详细信息(例如名称、大小等)的类
  • UploadedFileException:在检测到文件上传错误时抛出的异常。它包含错误代码和错误描述消息。
  • UploadedFilesUtils:包含用于检索上传文件的静态函数

示例用法

$uf = UploadedFilesUtils::getUploadedFile('user', 'info', 'avatar'); // Returns an UploadedFile or throws UploadedFileException
$uf->getTmpName(); // Return the file temp filename (e.g. /tmp/php1324.tmp)