grifix/normalizer-bundle

此包已被废弃,不再维护。未建议替代包。

Grifix normalizer Symfony集成

4.0.0 2022-11-23 08:17 UTC

This package is auto-updated.

Last update: 2023-07-26 07:06:48 UTC


README

grifix/normalizerSymfony 集成

安装

composer require grifix/normalizer-bundle

使用

  • 阅读Grifix Normalizer 文档
  • 将normalizer作为依赖项注入或从 Symfony 容器 获取,而不是通过 Normalizer::create() 创建它
  • 使用 packages/grifix_normalizer.yaml 而不是方法
    • registerCustomObjectNormalizer
    • registerDefaultObjectNormalizer
  • 而不是使用 registerDependency 方法,通过 Symfony 容器 注册依赖

默认normalizer配置示例

打开 packages/grifix_normalizer.yaml 并将以下配置添加到 grifix_normalizer.normalizers 部分

   grifix_normalizer:
     normalizers:
       #date
       - name: date
         class: Grifix\NormalizerBundle\Tests\Dummies\DateNormalizer
         schemas:
           - - property: value
               type: string
       #entity
       - name: entity
         version_converter: Grifix\NormalizerBundle\Tests\Dummies\EntityVersionConverter
         object_class: Grifix\NormalizerBundle\Tests\Dummies\Entity
         dependencies:
           - service
         schemas:
           #version 1
           - - property: name
               type: string
             - property: dates
               type: array_of_objects
               allowed_normalizers: [date]
             - property: public
               type: boolean
             - property: number
               type: integer
             - property: price
               type: number
             - property: notes
               type: array
             - property: mixed
               type: mixed_object
           #version 2
           - - property: name
               type: string
             - property: dates
               type: array_of_objects
               allowed_normalizers: [date]
             - property: public
               type: boolean
             - property: number
               type: integer
             - property: price
               type: number
             - property: notes
               type: array
             - property: mixed
               type: mixed_object
             - property: date
               type: object
               allowed_normalizers: [date]
               nullable: true
       #vo
       - name: vo
         object_class: Grifix\NormalizerBundle\Tests\Dummies\Vo
         schemas:
           - - property: value
               type: string
  • Grifix\NormalizerBundle\Tests\Dummies\EntityVersionConverter 注册为公开服务
  • Entity 依赖项注册为公开服务

自定义normalizer配置示例

打开 packages/grifix_normalizer.yaml 并将以下配置添加到 grifix_normalizer.normalizers 部分

  #date
  - name: date
    class: Grifix\NormalizerBundle\Tests\Dummies\DateNormalizer
    schemas:
      - - property: value
          type: string