jaumo / phavroc
从您的 Avro 架构生成 PHP 类
2.8.1
2024-05-03 07:53 UTC
Requires
- php: ^8.1
- ext-json: *
- jaumo/avro: ^2.0@RC|^3.0
- league/flysystem: ^1.0
- nikic/php-parser: ^4.14
- symfony/console: ^5
- symfony/finder: ^5
Requires (Dev)
- beberlei/assert: ^3.3.2
- behat/behat: ^3.5
- friendsofphp/php-cs-fixer: ^3
- phpspec/php-diff: ^1.1
- phpstan/phpstan: ^0.12.99
README
Phavroc
简介
安装
此库已在 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