kaspi/http-message

PSR-7, PSR-17 的 HTTP Message 实现

v1.2.3 2024-01-31 18:49 UTC

This package is auto-updated.

Last update: 2024-09-30 02:10:52 UTC


README

Kaspi/http-message 是一个轻量级的实现 PSR-7PSR-17,适用于 PHP 8.1 及以上版本

PSR-17 实现

  • \Kaspi\HttpMessage\HttpFactory::class

PSR-7 实现

  • \Kaspi\HttpMessage\Message::class
  • \Kaspi\HttpMessage\Request::class
  • \Kaspi\HttpMessage\Response::class
  • \Kaspi\HttpMessage\ServerRequest::class
  • \Kaspi\HttpMessage\Stream::class
  • \Kaspi\HttpMessage\UploadedFile::class
  • \Kaspi\HttpMessage\Uri::class

\Psr\Http\Message\StreamInterface 的额外实现

  • \Kaspi\HttpMessage\Stream\FileStream::class
  • \Kaspi\HttpMessage\Stream\PhpMemoryStream::class
  • \Kaspi\HttpMessage\Stream\PhpTempStream::class

安装

composer require kaspi/http-message

本地开发

需要 PHP 8.1,php Composer

测试

运行无代码覆盖率的测试

composer test

运行测试,以检查代码覆盖率,并生成 HTML 格式的报告

./vendor/bin/pest --compact

需要安装 PCOV 驱动程序

⛑ 结果将保存在 .coverage-html 文件夹中

静态代码分析

对于静态分析,我们使用 Phan 包。

无需 PHP 扩展 PHP AST

./vendor/bin/phan --allow-polyfill-parser

代码风格

为了使代码符合标准,我们使用 php-cs-fixer,它在 composer 的开发依赖项中声明。

composer fixer

使用 PHP 8.1、8.2、8.3 的 Docker 镜像

您可以在 .env 文件中的 PHP_IMAGE 键中指定带有 PHP 版本的镜像。默认情况下,容器使用 php:8.1-cli-alpine 镜像构建。

构建 Docker 容器

docker-compose build

安装 php Composer 依赖项

docker-compose run --rm php composer install

运行带有代码覆盖率报告和 HTML 格式报告的测试

docker-compose run --rm php vendor/bin/pest --compact

⛑ 结果将保存在 .coverage-html 文件夹中

Phan(PHP 的静态分析器)

docker-compose run --rm php vendor/bin/phan

您可以在 Docker 容器中的 shell 中工作

docker-compose run --rm php sh
使用 Makefile 命令。

检查和修正代码风格

make fix

运行静态代码分析器

make stat

运行测试

make test

运行所有检查阶段

make all