bowlofsoup/normalizer-bundle

对象归一化器。

安装数: 26,128

依赖关系: 0

建议者: 0

安全: 0

星标: 10

关注者: 3

分支: 3

开放问题: 13

类型:symfony-bundle

v5.4.2 2024-02-29 12:04 UTC

README

Build Status codecov PHP Version Symfony Version

安装

composer require bowlofsoup/normalizer-bundle

将扩展添加到您的 config/bundles.php 文件

BowlOfSoup\NormalizerBundle\BowlOfSoupNormalizerBundle::class => ['all' => true],

快速功能概述

  • 这是一个 Symfony 扩展!
  • 归一化类属性和方法(公共、受保护、私有)
  • 可以序列化归一化内容
  • 与 Symfony 和 Doctrine(作为其 ORM)一起工作。可以处理 Doctrine 代理
  • 循环引用检查:通过检测循环引用并返回对象的 getId() 方法的内容来处理循环引用
  • 对象缓存:如果对象实现了 getId() 方法,它将按归一化命令缓存归一化对象
  • 注解缓存,这意味着速度!
    • 对象的注解被缓存。这意味着不会多次解析同一对象的注解。每个流(每个归一化命令)
    • 在 Symfony 产模式下,注解完全缓存(第一次运行后)
  • Symfony 翻译
    • 在注解中指定域(翻译文件名)和区域
    • 尚不支持使用 ICU MessageFormat 格式化(暂时),因此没有参数

主要功能在 文档 中描述。

文档

有关用法和所有支持选项的文档可以在 wiki 中找到。

  1. 什么是序列化和归一化?
  2. 安装
  3. 序列化
    1. 序列化注解
  4. 归一化
    1. 归一化注解
  5. 翻译值
    1. 翻译注解

为什么使用这个归一化器而不是 ...

  • 默认情况下,Bowl Of Soup 归一化器使用一种自愿机制。您必须指出哪些属性必须进行归一化
  • 您可以指定上下文组,值将如何归一化,在哪个上下文中?
  • 它是为了速度而设计的。不包含您不使用的功能
  • 它在拥有 15,000+ 每日最终用户的复杂应用程序中得到了验证

开发

以下 CI 工具可用于在推送代码之前检查代码质量

Rector

Rector 可以用于自动化的代码升级和重构。先尝试一次干运行!

vendor/bin/rector process --dry-run --no-progress-bar --ansi

PHPStan

PHPStan 是一种静态代码分析工具,它专注于在代码中查找错误。修复 PHPStan 的结果可以防止可能的错误和问题。

vendor/bin/phpstan

PHPUnit

不言而喻,代码应该经过测试。带有覆盖率(输出 = tests/coverage)运行

XDEBUG_MODE=coverage php -dzend_extension=xdebug.so vendor/bin/phpunit 

不带覆盖率

vendor/bin/phpunit

代码覆盖率 master

代码风格修复器

让 php-cs-fixer 自动修复样式。

vendor/bin/php-cs-fixer fix