kaspi / http-message
PSR-7, PSR-17 的 HTTP Message 实现
v1.2.3
2024-01-31 18:49 UTC
Requires
- php: ^8.1 || ^8.2 || ^8.3
- psr/http-factory: ^1.0
- psr/http-message: 1.1 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.46
- mikey179/vfsstream: ^1.6
- pestphp/pest: ^2.31
- phan/phan: ^5.4
README
Kaspi/http-message 是一个轻量级的实现 PSR-7,PSR-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
- 本地开发(无需 Docker)
- 使用 Docker 镜像(WSL,Linux)
本地开发
需要 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