工程结构
请先了解下项目目录中各个目录的职责及作用:工程目录设计
工程配置
工具配置
工具配置指的是GoFrame
框架提供的开发工具的配置,仅用于项目开发使用。该配置与业务配置是独立的,存放于项目根目录的hack
目录下,通常以config.yaml
命名。默认的项目模板已经自动生成了该文件,只是该文件没有任何的配置内容。工具配置文件可以提交到版本库中。更详细的工具命令及配置介绍请参考章节:开发工具
业务配置
业务配置指的是业务项目运行所需的配置,用于业务项目部署运行,部署不同的环境,业务配置往往不同。业务配置文件存放于manifest/config
目录下,在多人协作开发中,业务配置文件往往不提交到版本库中,否则会引起本地的配置文件覆盖。
配置对象
业务配置可以通过框架独立的配置组件来访问,大多数场景下,我们通过g.Cfg()
单例对象访问。通过g.Cfg()
单例对象将会自动读取manifest/config
目录下的配置文件,配置组件的功能非常强大,更详细的介绍请参考:配置管理
单例对象
虽然框架的组件是模块化、低耦化设计的,但为了给与业务项目使用的方便,框架同时提供了一些常用的单例对象获取,例如:g.Cfg()/g.DB()/g.Log()
等等,更详细的介绍请参考章节:对象管理
单例对象的便捷之处在于,它会自动通过g.Cfg()
配置对象自动获取既定配置项下的配置,并自动初始化单例对象。不同的单例对象,自动读取的配置项不同,具体可以参考各个组件的配置管理章节。
以项目模板为例,默认提供了两个配置项,server
和logger
。前者是HTTP Server
的配置项,后置是日志组件的配置项。前者通过单例对象g.Server()
自动读取初始化,后者通过单例对象g.Log()
自动读取初始化。