Skip to content

Commit

Permalink
Merge pull request #25 from gogf/fix/quick-links
Browse files Browse the repository at this point in the history
fix links in quick documents
  • Loading branch information
gqcn authored Nov 6, 2024
2 parents 0805feb + 1d180f0 commit c891da9
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 24 deletions.
8 changes: 4 additions & 4 deletions docs/quick/项目脚手架/What's Next.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,13 @@ sidebar_position: 3

#### Web项目学习

如果是 `HTTP WEB` 项目,那么请进入该章节学习: [WEB服务开发](/docs/web)
如果是 `HTTP WEB` 项目,那么请进入该章节学习: [WEB服务开发](../../docs/WEB服务开发/WEB服务开发.md)

从该章节开始,会循序渐进地介绍WEB服务的开发以及相关组件的使用。

#### 微服务学习

如果是微服务项目,那么请进入该章节学习: [微服务开发](/docs/micro-service)
如果是微服务项目,那么请进入该章节学习: [微服务开发](../../docs/微服务开发/微服务开发.md)

该章节主要是介绍如何使用框架来实现微服务开发。

Expand All @@ -45,11 +45,11 @@ sidebar_position: 3

#### 核心组件

核心组件是构成框架不可或缺的部分,业务项目基本都会用得到,也是框架学习的重点,章节地址: [核心组件(🔥重点🔥)](/docs/core)
核心组件是构成框架不可或缺的部分,业务项目基本都会用得到,也是框架学习的重点,章节地址: [核心组件(🔥重点🔥)](../../docs/核心组件/核心组件.md)

#### 组件列表

组件列表是展示了框架所有组件的汇总章节,章节地址: [组件列表](/docs/components)
组件列表是展示了框架所有组件的汇总章节,章节地址: [组件列表](../../docs/组件列表/组件列表.md)

## 重要的Tips

Expand Down
2 changes: 1 addition & 1 deletion docs/quick/项目脚手架/基本介绍.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ gf init demo -u
```

该命令创建一个工程脚手架目录,项目名称是 `demo`,其中的 `-u` 参数用户指定是否更新项目中使用的 `goframe` 框架为最新版本。
框架有独特的项目工程结构,工程目录结构介绍具体请参考: [工程目录设计](/docs/design/project/structure)
框架有独特的项目工程结构,工程目录结构介绍具体请参考: [工程目录设计](../../docs/框架设计/工程开发设计/工程目录设计.md)

框架的脚手架目录是按照通用性设计的,可以满足WEB、终端、微服务等业务开发场景。默认会生成一个 `HTTP Web Server` 的模板项目。在理解完成目录含义后,如果其中有不需要的目录,可以自行删除。

Expand Down
18 changes: 9 additions & 9 deletions docs/quick/项目脚手架/示例项目.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,17 +24,17 @@ git clone https://github.com/gogf/gf-demo-user

### 接口定义

接口注册文件位于 `api` 目录下,由于该项目采用了规范路由注册方式,因此在API结构体的属性中包含一些标签。其中结构体属性的 `v` 标签表示校验规则,请求参数进入 `HTTP Server` 后将会被自动执行校验(框架有非常强大的数据校验组件,更详细的介绍请参考章节: [数据校验](/docs/核心组件/数据校验)
接口注册文件位于 `api` 目录下,由于该项目采用了规范路由注册方式,因此在API结构体的属性中包含一些标签。其中结构体属性的 `v` 标签表示校验规则,请求参数进入 `HTTP Server` 后将会被自动执行校验(框架有非常强大的数据校验组件,更详细的介绍请参考章节: [数据校验](../../docs/核心组件/数据校验/数据校验.md)

:::tip
框架中所有涉及到的标签请参考章节: [常见问题(FAQ)](/docs/常见问题-FAQ)
框架中所有涉及到的标签请参考章节: [常见问题(FAQ)](../../docs/常见问题-FAQ.md)
:::

![](/markdown/2b8717c25ab6f1b6e46961d282cac155.png)

### 路由注册

路由注册往往在 `cmd` 包中,在本项目中,仍旧采用灵活的分组路由注册方式。在部分路由中带有鉴权中间件,这部分路由需要鉴权后才能访问,感兴趣的小伙伴可以仔细研究下源码的实现原理。关于路由中间件的详细介绍请参考章节: [路由管理-中间件/拦截器](/docs/WEB服务开发/路由管理/路由管理-中间件拦截器)
路由注册往往在 `cmd` 包中,在本项目中,仍旧采用灵活的分组路由注册方式。在部分路由中带有鉴权中间件,这部分路由需要鉴权后才能访问,感兴趣的小伙伴可以仔细研究下源码的实现原理。关于路由中间件的详细介绍请参考章节: [路由管理-中间件/拦截器](../../docs/WEB服务开发/路由管理/路由管理-中间件拦截器/路由管理-中间件拦截器.md)

![](/markdown/a5aac1c0f6669392c63a269b1dfd267a.png)

Expand All @@ -46,7 +46,7 @@ git clone https://github.com/gogf/gf-demo-user

### 控制器定义

控制器往往不带有任何的业务逻辑,负责 `API` 接口数据结构的输入与输出,调用一个或多个 `service` 实现具体的业务逻辑。关于项目工程设计中各个部分的职责请参考章节: [工程目录设计🔥](/docs/框架设计/工程开发设计/工程目录设计)
控制器往往不带有任何的业务逻辑,负责 `API` 接口数据结构的输入与输出,调用一个或多个 `service` 实现具体的业务逻辑。关于项目工程设计中各个部分的职责请参考章节: [工程目录设计🔥](../../docs/框架设计/工程开发设计/工程目录设计.md)

![](/markdown/8478bdc21b81594947e19bd1a689890d.png)

Expand All @@ -62,7 +62,7 @@ git clone https://github.com/gogf/gf-demo-user

#### 数据库配置

数据库的配置使用 `database` 配置项,关于数据库配置的详细介绍请参考章节: [ORM使用配置](/docs/核心组件/数据库ORM/ORM使用配置)
数据库的配置使用 `database` 配置项,关于数据库配置的详细介绍请参考章节: [ORM使用配置](../../docs/核心组件/数据库ORM/ORM使用配置/ORM使用配置.md)

![](/markdown/bad86361379ef3391562cb7568ca56e8.png)

Expand All @@ -74,19 +74,19 @@ git clone https://github.com/gogf/gf-demo-user

代码生成方式通过 `make dao` 命令,或者 `gf gen dao` 命令,如下:
:::tip
关于数据库痛点及设计请参考章节: [DAO封装设计](/docs/框架设计/工程开发设计/DAO封装设计),关于数据库代码文件生成工具的介绍请参考章节: [数据规范-gen dao](/docs/开发工具/代码生成-gen/数据规范-gen%20dao)
关于数据库痛点及设计请参考章节: [DAO封装设计](../../docs/框架设计/工程开发设计/DAO封装设计/DAO封装设计.md),关于数据库代码文件生成工具的介绍请参考章节: [数据规范-gen dao](../../docs/开发工具/代码生成-gen/数据规范-gen%20dao.md)
:::
![](/markdown/c1858c67cbbd91b975234ab58d2d92c8.png)

### 业务模型

业务项目中内部 **模块间交互的数据结构**`model` 包维护,供全局访问。更多的介绍请参考章节: [数据模型与业务模型](/docs/框架设计/工程开发设计/数据模型与业务模型)
业务项目中内部 **模块间交互的数据结构**`model` 包维护,供全局访问。更多的介绍请参考章节: [数据模型与业务模型](../../docs/框架设计/工程开发设计/数据模型与业务模型.md)

![](/markdown/01f8c0b3d5e01a162c41f201f5d1bcd1.png)

### 服务接口

**为了降低业务项目内部模块间的耦合,框架将模块间的依赖抽象为了接口**,由 `internal/service` 包维护。 `internal/service` 可以由开发者自定义维护接口,也可以通过 `internal/logic` 业务封装的代码按照一定规则自动生成接口代码文件。具体请参考章节: [模块规范-gen service](/docs/开发工具/代码生成-gen/模块规范-gen%20service)
**为了降低业务项目内部模块间的耦合,框架将模块间的依赖抽象为了接口**,由 `internal/service` 包维护。 `internal/service` 可以由开发者自定义维护接口,也可以通过 `internal/logic` 业务封装的代码按照一定规则自动生成接口代码文件。具体请参考章节: [模块规范-gen service](../../docs/开发工具/代码生成-gen/模块规范-gen%20service.md)

![](/markdown/bfcd33e17d6d9cfd22036d05588e96c7.png)

Expand Down Expand Up @@ -116,7 +116,7 @@ git clone https://github.com/gogf/gf-demo-user
2. `dao/entity/do`
3. `service`

更详细的介绍请参考开发工具章节: [代码生成-gen(🔥重点🔥)](/docs/开发工具/代码生成-gen)
更详细的介绍请参考开发工具章节: [代码生成-gen(🔥重点🔥)](../../docs/开发工具/代码生成-gen/代码生成-gen.md)

## 接口测试

Expand Down
12 changes: 6 additions & 6 deletions docs/quick/项目脚手架/配置管理.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,31 @@ sidebar_position: 1

## 工程结构

请先了解下项目目录中各个目录的职责及作用: [工程目录设计🔥](/docs/design/project/structure)
请先了解下项目目录中各个目录的职责及作用: [工程目录设计🔥](../../docs/框架设计/工程开发设计/工程目录设计.md)

## 工程配置

### 工具配置

工具配置指的是 `GoFrame` 框架提供的开发工具的配置,仅用于项目开发使用。该配置与业务配置是独立的,存放于项目根目录的 `hack` 目录下,通常以 `config.yaml` 命名。默认的项目模板已经自动生成了该文件,只是该文件没有任何的配置内容。工具配置文件可以提交到版本库中。更详细的工具命令及配置介绍请参考章节: [开发工具](/docs/cli)
工具配置指的是 `GoFrame` 框架提供的开发工具的配置,仅用于项目开发使用。该配置与业务配置是独立的,存放于项目根目录的 `hack` 目录下,通常以 `config.yaml` 命名。默认的项目模板已经自动生成了该文件,只是该文件没有任何的配置内容。工具配置文件可以提交到版本库中。更详细的工具命令及配置介绍请参考章节: [开发工具](../../docs/开发工具/开发工具.md)

### 业务配置

业务配置指的是业务项目运行所需的配置,用于业务项目部署运行,部署不同的环境,业务配置往往不同。业务配置文件存放于 `manifest/config` 目录下,在多人协作开发中,业务配置文件往往不提交到版本库中,否则会引起本地的配置文件覆盖。

## 配置对象

业务配置可以通过框架独立的配置组件来访问,大多数场景下,我们通过 `g.Cfg()` 单例对象访问。通过 `g.Cfg()` 单例对象将会自动读取 `manifest/config` 目录下的配置文件,配置组件的功能非常强大,更详细的介绍请参考: [配置管理](/docs/core/gcfg)
业务配置可以通过框架独立的配置组件来访问,大多数场景下,我们通过 `g.Cfg()` 单例对象访问。通过 `g.Cfg()` 单例对象将会自动读取 `manifest/config` 目录下的配置文件,配置组件的功能非常强大,更详细的介绍请参考: [配置管理](../../docs/核心组件/配置管理/配置管理.md)

## 单例对象

虽然框架的组件是模块化、低耦化设计的,但为了给与业务项目使用的方便,框架同时提供了一些常用的单例对象获取,例如: `g.Cfg()/g.DB()/g.Log()` 等等,更详细的介绍请参考章节: [对象管理](/docs/core/g)
虽然框架的组件是模块化、低耦化设计的,但为了给与业务项目使用的方便,框架同时提供了一些常用的单例对象获取,例如: `g.Cfg()/g.DB()/g.Log()` 等等,更详细的介绍请参考章节: [对象管理](../../docs/核心组件/对象管理.md)

单例对象的便捷之处在于,它会自动通过 `g.Cfg()` 配置对象自动获取既定配置项下的配置,并自动初始化单例对象。不同的单例对象,自动读取的配置项不同,具体可以参考各个组件的配置管理章节。

以项目模板为例,默认提供了两个配置项, `server``logger`。前者是 `HTTP Server` 的配置项,后置是日志组件的配置项。前者通过单例对象 `g.Server()` 自动读取初始化,后者通过单例对象 `g.Log()` 自动读取初始化。

- `HTTP Server` 配置的介绍请参考章节: [服务配置](/docs/web/server-config)
- 日志组件配置的详细介绍请参考章节: [日志组件-配置管理](/docs/core/glog/config)
- `HTTP Server` 配置的介绍请参考章节: [服务配置](../../docs/WEB服务开发/服务配置/服务配置.md)
- 日志组件配置的详细介绍请参考章节: [日志组件-配置管理](../../docs/核心组件/日志组件/日志组件-配置管理.md)

![](/markdown/e9d2b468d5aff664dff56388ad14d182.png)
8 changes: 4 additions & 4 deletions docs/quick/项目脚手架/项目启动.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ sidebar_position: 0

`Main` 对象的 `Run` 命令的主要作用是做引导启动,将一些动态初始化的逻辑放到 `Main``Run` 方法中。在项目模板中,默认创建一个 `HTTP Server`,然后通过分组路由的方式注册路由,并启动 `HTTP Server`。随后 `HTTP Server` 将会阻塞运行,它同时也会异步监听系统信号,直至收到退出信号后,它会优雅关闭连接随后退出进程。
:::tip
框架的命令行管理默认采用了结构化的对象管理方式,详细介绍感兴趣请参考章节: [命令管理](/docs/core/gcmd)
框架的命令行管理默认采用了结构化的对象管理方式,详细介绍感兴趣请参考章节: [命令管理](../../docs/核心组件/命令管理/命令管理.md)
:::
![](/markdown/90581450b5ba5cf3ee24ece339b141be.png)

Expand All @@ -43,7 +43,7 @@ s.Group("/", func(group *ghttp.RouterGroup) {

在分组路由的闭包方法内部,通过 `Middleware` 方法注册了一个中间件,该中间件是 `HTTP Server` 组件用于规范化路由的数据返回。随后通过 `Bind` 方法的规范化路由方式绑定一个 `Hello` 路由对象,该路由对象下的所有公开方法均会被自动注册会路由。
:::tip
详细的HTTP Server路由介绍请参考章节: [路由管理🔥](/docs/web/router)
详细的HTTP Server路由介绍请参考章节: [路由管理🔥](../../docs/WEB服务开发/路由管理/路由管理.md)
:::
### 路由对象

Expand All @@ -56,12 +56,12 @@ s.Group("/", func(group *ghttp.RouterGroup) {
![](/markdown/83b3aedd1a4ed334eed6694b3f038f16.png)
:::tip
这种通过统一的中间件返回统一的数据结构,统一路由对象的方法管理路由的方式,叫做规范路由。
更详细的介绍请参考章节: [路由注册-规范路由](/docs/web/router/registering-strict-router)
更详细的介绍请参考章节: [路由注册-规范路由](../../docs/WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/路由注册-规范路由.md)
:::
### 阻塞运行

通过 `HTTP Server``Run` 方法启动 `HTTP Server`,随后 `HTTP Server` 将会阻塞运行接收客户端请求,并监听进程信号,用于 `HTTP Server` 重启/关闭。

## 继续了解

`GoFrame` 框架的 `HTTP Server` 带有非常多的特性,具体请参考章节: [WEB服务开发](/docs/web)
`GoFrame` 框架的 `HTTP Server` 带有非常多的特性,具体请参考章节: [WEB服务开发](../../docs/WEB服务开发/WEB服务开发.md)

0 comments on commit c891da9

Please sign in to comment.