JanePHP命令行工具完全指南:配置文件与生成参数详解
JanePHP命令行工具完全指南:配置文件与生成参数详解
【免费下载链接】janephp:seedling: Jane is a set of libraries to generate Models & API Clients based on JSON Schema / OpenAPI specs项目地址: https://gitcode.com/gh_mirrors/ja/janephp
JanePHP是一套基于JSON Schema和OpenAPI规范生成模型与API客户端的强大工具库。本文将详细介绍JanePHP命令行工具的配置文件结构和核心生成参数,帮助开发者快速掌握如何通过命令行高效使用JanePHP生成代码。
核心命令概览
JanePHP提供了两类核心生成命令,分别对应JSON Schema和OpenAPI规范,通过简洁的命令行接口即可完成代码生成工作。
JSON Schema生成命令
JSON Schema生成命令位于src/Bundle/JsonSchemaBundle/Command/JsonSchemaGenerateCommand.php,主要用于根据JSON Schema文件生成模型类和规范化器。基础使用命令如下:
jane generate --config-file .jane该命令会读取当前目录下的.jane配置文件,根据其中定义的规则生成相应的PHP类文件。
OpenAPI生成命令
OpenAPI生成命令位于src/Bundle/OpenApiBundle/Command/OpenApiGenerateCommand.php,专注于根据OpenAPI规范生成完整的API客户端。基础使用命令如下:
jane generate --config-file .jane-openapi此命令使用.jane-openapi配置文件,生成包含接口调用、模型和异常处理的全套API客户端代码。
配置文件详解
配置文件是JanePHP命令行工具的核心,它定义了代码生成的各种规则和参数。JanePHP支持两种主要配置文件:.jane用于JSON Schema生成,.jane-openapi用于OpenAPI客户端生成。
配置文件基本结构
虽然具体配置项会因生成类型有所不同,但两种配置文件都遵循类似的JSON结构。以下是一个典型的配置文件示例:
{ "schema-file": "path/to/schema.json", "directory": "generated/", "namespace": "My\\Generated\\Namespace", "use-fixer": true, "clean-generated": true }核心配置项解析
schema-file:指定JSON Schema或OpenAPI规范文件的路径,这是生成代码的基础。
directory:设置生成文件的输出目录,所有生成的PHP类将被放置在该目录下。
namespace:定义生成类的命名空间,确保代码符合项目的命名规范。
use-fixer:布尔值,指定是否使用PHP-CS-Fixer对生成的代码进行格式化,保持代码风格一致。
clean-generated:布尔值,设置为true时,生成前会清空输出目录,避免旧文件残留。
高级配置选项
对于OpenAPI生成,.jane-openapi配置文件还支持一些高级选项:
whitelisted-paths:指定需要生成客户端的API路径白名单,只生成指定路径的接口。
throw-unexpected-status-code:布尔值,设置为true时,当API返回未定义的状态码时会抛出异常。
custom-query-resolver:自定义查询参数解析器,用于特殊参数的处理逻辑。
命令行参数使用
除了通过配置文件设置生成参数外,JanePHP命令行工具还支持直接通过命令行参数进行配置,提供更大的灵活性。
主要命令行选项
- --config-file (-c):指定配置文件路径,这是最常用的参数。例如:
jane generate -c path/to/custom-config.json- --help:查看命令帮助信息,获取所有可用选项的详细说明。
参数优先级
命令行参数的优先级高于配置文件中的设置。如果在命令行中指定了某个参数,它将覆盖配置文件中对应的设置。例如:
jane generate --config-file .jane --namespace Override\\Namespace上述命令会使用.jane配置文件中的大部分设置,但会将命名空间覆盖为Override\\Namespace。
配置文件管理工具
JanePHP提供了一个实用的配置文件转储命令,帮助开发者查看和调试配置。该命令位于src/Component/JsonSchema/Console/Command/DumpConfigCommand.php,使用方法如下:
jane dump-config --config-file .jane执行后,命令行会输出配置文件的详细内容,包括所有默认值和用户自定义设置,便于排查配置问题。
图:JanePHP OpenAPI配置文件结构示意图,展示了主要配置节点和关系
实战应用技巧
多 schema 项目配置
对于包含多个schema文件的复杂项目,可以使用mapping配置项来定义多个schema及其各自的生成规则:
{ "mapping": { "schema1.json": { "directory": "generated/schema1", "namespace": "My\\Project\\Schema1" }, "schema2.json": { "directory": "generated/schema2", "namespace": "My\\Project\\Schema2" } } }集成到构建流程
JanePHP命令行工具可以轻松集成到项目的构建流程中。例如,在composer.json中添加如下脚本:
{ "scripts": { "generate-api": "jane generate --config-file .jane-openapi", "post-install-cmd": [ "@generate-api" ] } }这样,在每次执行composer install后,都会自动生成API客户端代码,确保代码与最新的API规范保持同步。
常见问题解决
配置文件找不到
如果命令行提示无法找到配置文件,请检查以下几点:
确保当前工作目录正确,或者使用绝对路径指定配置文件。
确认配置文件名是否正确,JSON Schema生成使用
.jane,OpenAPI生成使用.jane-openapi。检查文件权限,确保命令行工具有权限读取配置文件。
生成代码格式问题
如果生成的代码格式不符合项目规范,可以:
在配置文件中设置
"use-fixer": true,并确保安装了PHP-CS-Fixer。通过
fixer-config-file指定自定义的PHP-CS-Fixer配置文件:
{ "use-fixer": true, "fixer-config-file": ".php-cs-fixer.dist.php" }总结
JanePHP命令行工具通过灵活的配置文件和丰富的命令行参数,为JSON Schema和OpenAPI规范的代码生成提供了强大支持。掌握配置文件的结构和核心参数的使用方法,能够帮助开发者高效地将API规范转换为高质量的PHP代码,显著提升开发效率。
无论是小型项目还是大型企业应用,JanePHP都能通过其可定制的生成规则,满足不同场景下的代码生成需求。开始使用JanePHP命令行工具,让API开发变得更加简单高效!
【免费下载链接】janephp:seedling: Jane is a set of libraries to generate Models & API Clients based on JSON Schema / OpenAPI specs项目地址: https://gitcode.com/gh_mirrors/ja/janephp
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
