wenbinye / tars-gen
TARS PHP code generator
Installs: 10 548
Dependents: 4
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 1
Type:application
Requires
- php: >=7.2.5
- ext-json: *
- antlr/antlr4-php-runtime: ^0.4
- psr/log: ^1.1
- symfony/console: ^5.2
- twig/twig: ^3.2
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-11-10 05:24:50 UTC
README
Installation
composer require --dev wenbinye/tars-gen:^0.3
Usage
$ ./vendor/bin/tars-gen
Integration to composer
Add Configuration in composer.json:
{ "scripts": { "gen": "./vendor/bin/tars-gen" } }
生成器配置文件为 tars/config.json 文件。配置文件示例:
{ "client": { "servants": { "Hello": "TestApp.HelloServer.HelloObj" } } }
配置中 servant, client 分别对应生成服务提供方接口代码和客户端代码。
配置项包括:
namespace
代码生成的名字空间,默认会读取项目composer.json
文件中第一个 psr-4 规则,client 添加 'integration',servant 添加 'servant'output
代码生成目录,默认会使用 composer.json 第一个 psr-4 规则根据 psr-4 规则计算输出目录flat
是否将文件中的 module 加入到命名空间中,默认对于 client 为 false,对于 servant 为 truetars_path
tars 文件目录,默认为 client 为 tars/client, servant 为 tars/servantservants
tars 服务名列表,通过{moduleName}.{interfaceName}
或{interfaceName}
查询
tars 文件目录结构通常包含 servant 和 client 两个目录。如果确定本项目不会提供 tars rpc 服务,可以将所有 client 的定义文件都放到 tars 目录下,然后设置 client.tars_path 为 "tars"。