代码生成-gen(🔥重点🔥) - 图1信息

v2 版本开始,最新的 CLI 工具版本功能会随着 GoFrame 框架的最新版本编译,引入如果本地的 CLI 工具自动化生成的代码与项目的 GoFrame 框架版本出现兼容性问题时,建议升级项目框架版本,或者自定义安装旧版本的 CLI 工具。旧版本CLI工具安装方式参考仓库首页介绍: https://github.com/gogf/gf-cli

重要说明🔥

  • CLI 工具提供的代码生成功能,目的是 规范化项目代码编写简化项目开发复杂度让开发者能够把精力聚焦于业务逻辑本身
  • CLI 工具本身会需要有一定前置的学习和理解成本(尽量理解为什么),但在熟练之后,大家的开发工作将会事半功倍。
  • CLI 工具的代码生成功能针对于企业级项目、多成员的团队性项目中收益会非常高。但针对于单人小型项目,开发者可根据个人意愿评估是否选择使用。 GoFrame 框架本身只是提供了基础组件,采用了组件化的灵活设计,不会对项目代码做严格的要求;但 CLI 工具会有一定的条框限制,目的是使得团队中每个成员的步调和风格一致,不会使得开发者的代码编写过于随意。

使用方式

  1. $ gf gen -h
  2. USAGE
  3. gf gen COMMAND [OPTION]
  4. COMMAND
  5. ctrl parse api definitions to generate controller/sdk go files
  6. dao automatically generate go files for dao/do/entity
  7. enums parse go files in current project and generate enums go file
  8. pb parse proto files and generate protobuf go files
  9. pbentity generate entity message files in protobuf3 format
  10. service parse struct and associated functions from packages to generate service go file
  11. DESCRIPTION
  12. The "gen" command is designed for multiple generating purposes.
  13. It's currently supporting generating go files for ORM models, protobuf and protobuf entity files.
  14. Please use "gf gen dao -h" for specified type help.

相关文档

📄️ 接口规范-gen ctrl使用GoFrame生成API接口的控制器和SDK代码,从而帮助开发者减少重复性的代码工作,规范API与控制器的代码结构,提高多人协作开发的效率。此外,还提供了生成HTTP SDK代码的功能,方便内部和外部服务的调用。使用命令行模式和自动生成模式两种方式进行代码生成,并提供了详细的命令参数说明和使用示例。

📄️ 数据规范-gen daoGoFrame框架中gen dao命令的使用方法与参数配置。gen dao命令是生成数据访问对象、数据转化模型及实体数据模型的关键工具,支持通过命令行参数和配置文件进行详细配置,适用于多种数据库类型。通过对命令选项的灵活使用,可以满足不同项目的代码生成需求,确保工程设计规范的落地执行。

📄️ 模块规范-gen service在GoFrame框架中对业务逻辑进行封装管理,通过生成模块接口定义和注册代码来简化业务逻辑与接口分离的实现过程。通过逻辑与接口的结构化编码提高模块透明性,并避免循环依赖。提供手动与自动两种实现模式,适用于不同开发环境。

📄️ 枚举维护-gen enums使用GoFrame命令行工具来维护和生成枚举值信息,特别是针对OpenAPIv3文档中的枚举值参数。通过解析源代码自动生成和加载枚举值,降低手工维护的成本,提高开发效率,并增强后端与前端的协作。

📄️ 协议编译-gen pb使用GoFrame框架中的命令行工具来编译proto文件,生成相应的protobuf Go文件和控制器文件。通过gf gen pb命令,用户可以设置不同的路径以存储生成的接口和控制器文件,满足项目工程的需求。同时,本文还列出了该命令的使用指南和注意事项,以便于开发者更好地使用这个功能。

📄️ 数据表PB-gen pbentity使用GoFrame框架的命令行工具gf来根据数据库表生成proto数据结构文件pbentity。包括命令使用方法、选项配置及其说明,以及与gen dao模块中生成的entity文件的区别。适用于HTTP和GRPC服务的数据实体结构生成,支持多种数据库的生成规则配置。