invis1ble/symfony-serializer-extension

为 symfony/serializer 提供额外的(反)序列化器。

v1.1.2 2024-06-05 02:13 UTC

This package is auto-updated.

Last update: 2024-09-06 14:41:19 UTC


README

CI Status Code Coverage Packagist MIT licensed

一组有用的额外(反)序列化器,用于 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\UriInterfaceUri 对象而设计的。

阅读官方的 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);

开发

入门

  1. 如果尚未安装,请安装 Docker Compose(v2.10+)
  2. 运行 docker compose build --no-cache 以构建新鲜镜像
  3. 运行 docker compose up -d --wait 以启动 Docker 容器
  4. 运行 docker compose exec php composer install 以安装依赖项
  5. 运行 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

许可

MIT 许可证