invis1ble / symfony-serializer-extension
为 symfony/serializer 提供额外的(反)序列化器。
v1.1.2
2024-06-05 02:13 UTC
Requires
- php: >=8.1
- psr/http-factory: ^1.0
- psr/http-message: ^1.1||^2.0
- symfony/serializer: ^6.4|^v7.0
Requires (Dev)
- escapestudios/symfony2-coding-standard: ^3.13@dev
- friendsofphp/php-cs-fixer: dev-master
- guzzlehttp/guzzle: 8.0.x-dev
- phpunit/phpunit: ^11.2@dev
- rector/rector: dev-main
README
一组有用的额外(反)序列化器,用于 symfony/serializer
UriNormalizer
用于规范化实现Psr\Http\Message\UriInterface
的对象
安装
要安装此包,您可以使用 Composer
composer require invis1ble/symfony-serializer-extension
或者在您的 composer.json
文件中将其添加为依赖项
{ "require": { "invis1ble/symfony-serializer-extension": "^1.0" } }
添加以上行后,运行以下命令来安装包
composer install
使用方法
目前仅实现了 UriNormalizer
此规范化器是为规范化实现 Psr\Http\Message\UriInterface
的 Uri
对象而设计的。
阅读官方的 Serializer 组件文档 了解如何使用规范化器。
use Invis1ble\SymfonySerializerExtension\Normalizer\UriNormalizer; use Symfony\Component\Serializer\Encoder\JsonEncoder; use Symfony\Component\Serializer\Encoder\XmlEncoder; use Symfony\Component\Serializer\Serializer; $encoders = [new XmlEncoder(), new JsonEncoder()]; $normalizers = [new UriNormalizer($uriFactory)]; $serializer = new Serializer($normalizers, $encoders);
开发
入门
- 如果尚未安装,请安装 Docker Compose(v2.10+)
- 运行
docker compose build --no-cache
以构建新鲜镜像 - 运行
docker compose up -d --wait
以启动 Docker 容器 - 运行
docker compose exec php composer install
以安装依赖项 - 运行
docker compose down --remove-orphans
以停止 Docker 容器。
检查编码标准违规情况
运行 PHP_CodeSniffer 检查
docker compose exec -it php bin/php_codesniffer
运行 PHP-CS-Fixer 检查
docker compose exec -it php bin/php-cs-fixer
运行 Rector 检查
docker compose exec -it php bin/rector
测试
在开发期间运行单元测试
docker compose exec php vendor/bin/phpunit
运行测试并生成覆盖率报告
XDEBUG_MODE=coverage docker compose up -d --wait
docker compose exec php vendor/bin/phpunit --coverage-clover var/log/coverage-clover.xml