jaumo/phavroc

从您的 Avro 架构生成 PHP 类

2.8.1 2024-05-03 07:53 UTC

README

Banner

Phavroc

简介

此库允许从 PHP 类从 Avro 架构生成。

安装

此库已在 packagist.org 上注册,您可以使用 Composer 安装它。

运行以下命令进行安装

$ composer require jaumo/phavroc

使用方法

基本使用

安装完成后,您可以使用以下命令对特定的 Avro 架构进行生成

$ ./vendor/bin/phavroc my_schema.avsc

或对整个目录使用

$ ./vendor/bin/phavroc schemas/

通用接口

可以为所有生成的类指定一个通用接口

$ ./vendor/bin/phavroc --common-interface Com\\Acme\\MessageInterface schemas/

这特别有用,可以一次性轻松地为所有消息添加类型提示。

弃用支持

可以提供包含关于弃用架构/字段的信息的 JSON 映射文件

$ ./vendor/bin/phavroc --deprecation-map deprecations.json schemas/

此映射的结构如下

{
    "fully.qualified.schema.Name": {
        "deprecated": "Optional field. Contains the schema-level deprecation doc",
        "deprecated-fields": [
            {
                "name": "Name of a deprecated field",
                "doc": "Deprecation doc"
            },
            ...
        ],
        "deprecated-symbols": [
            "ENUM_SYMBOL"
        ]
    }
}

相应的弃用文档将包含在生成的类的 doc-blocks 中。

贡献

此库采用 Apache-2.0 许可证发布(有关更多信息,请参阅 LICENSE)。

任何贡献都非常欢迎,请确保对 Behat 场景也进行适当的更改。

您可以通过运行以下命令执行测试套件

$ ./vendor/bin/behat