Skip to content

Commit

Permalink
code block lang
Browse files Browse the repository at this point in the history
  • Loading branch information
gqcn committed Oct 29, 2024
1 parent cb29cc6 commit 6af0d08
Show file tree
Hide file tree
Showing 2,906 changed files with 18,745 additions and 18,956 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ func (s *replyService) Create(ctx context.Context, r *define.ReplyServiceCreateR

通过 `service` 中封装的以下方法,将 `context.Context` 上下文变量传递进去即可。 `context.Context` 上下文变量在 `GoFrame` 框架的 `HTTP` 请求中可以通过 `r.Context()` 方法获取,在 `GRPC` 请求中,编译生成的 `pb` 文件中执行方法的第一个参数即固定是 `context.Context`

```
```go
service.Context.Get(ctx)
```

Expand Down
6 changes: 3 additions & 3 deletions docs/12-项目部署/0-独立部署.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ hide_title: true

我们可以使用简单的 `nohup` 命令来运行应用程序,使其作为后台守护进程运行,即使远程连接的SSH断开也不会影响程序的执行。在流行的Linux发行版中往往都默认安装好了 `nohup` 命令工具。 命令如下:

```
```bash
nohup ./gf-app &
```

Expand All @@ -31,7 +31,7 @@ nohup ./gf-app &

`supervisor` 是用 `Python` 开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台 `daemon`,并监控进程状态,异常退出时能自动重启。官方网站: [http://supervisord.org/](http://supervisord.org/) 常见配置如下:

```
```ini
[program:gf-app]
user = root
directory = /var/www
Expand Down Expand Up @@ -67,7 +67,7 @@ autorestart = true

常见配置如下:

```
```ini
[Unit]
# 单元描述
Description=GF APP
Expand Down
4 changes: 2 additions & 2 deletions docs/12-项目部署/1-代理部署.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ hide_title: true

这种方式通过文件名后缀区分,将指定的静态文件转交给 `nginx` 处理,其他的请求转交给 `golang` 应用。 配置示例如下:

```
```conf
server {
listen 80;
server_name goframe.org;
Expand Down Expand Up @@ -53,7 +53,7 @@ server {

这种方式通过文件目录区分,将指定目录的访问请求转交给 `nginx` 处理,其他的请求转交给 `golang` 应用。 配置示例如下:

```
```conf
server {
listen 80;
server_name goframe.org;
Expand Down
6 changes: 3 additions & 3 deletions docs/12-项目部署/2-容器部署.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ hide_title: true

使用以下指令可以静态编译 `Linux` 平台 `amd64` 架构的可执行文件:

```
```bash
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.go
```

Expand All @@ -26,7 +26,7 @@ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main main.go

一个参考的 `Dockerfile` 文件如下:

```
```dockerfile
FROM loads/alpine:3.8

LABEL maintainer="[email protected]"
Expand Down Expand Up @@ -68,7 +68,7 @@ CMD ./main

使用以下指令可直接运行刚才编译成的镜像:

```
```bash
docker run main
```

Expand Down
2 changes: 1 addition & 1 deletion docs/16-其他资料/0-准备工作/0-环境安装.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Go的开发包升级也是同样的过程。

新建一个 `go` 文件,叫做 `hello.go`,并输入以下代码:

```
```go
package main

import "fmt"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ Windows如何修改系统环境变量,以及修改环境变量 `PATH`,请参

使用以下命令安装:

```
```bash
mkdir -p $GOPATH/src/golang.org/x/
cd $GOPATH/src/golang.org/x/
git clone https://github.com/golang/lint.git
Expand Down
4 changes: 2 additions & 2 deletions docs/16-其他资料/5-如何从v1愉快升级到v2.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ hide_title: true

全局替换源代码即可,规则如下:

```
```go
"github.com/gogf/gf/ => "github.com/gogf/gf/v2/
```

Expand All @@ -37,7 +37,7 @@ hide_title: true

## 下载最新v2版本

```
```bash
go get -u github.com/gogf/gf/v2@latest
```

Expand Down
8 changes: 4 additions & 4 deletions docs/3-开发工具/0-工具安装-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ hide_title: true

#### `Mac`&`Linux` 快捷下载命令

```
```bash
wget -O gf https://github.com/gogf/gf/releases/latest/download/gf_$(go env GOOS)_$(go env GOARCH) && chmod +x gf && ./gf install -y && rm ./gf
```

#### Windows需手动下载

确定自己当前项目的 `goframe` 依赖版本,查看自己的系统信息:

```
```bash
go env GOOS
go env GOARCH
```
Expand All @@ -29,7 +29,7 @@ go env GOARCH

### 通过 `go install` 安装

```
```bash
go install github.com/gogf/gf/cmd/gf/v2@latest # 最新版本
go install github.com/gogf/gf/cmd/gf/[email protected] # 指定版本(版本需要 >= v2.5.5)
```
Expand Down Expand Up @@ -62,7 +62,7 @@ go install github.com/gogf/gf/cmd/gf/[email protected] # 指定版本(版本需要 >= v2

## 使用示例

```
```bash
$ ./gf_darwin_amd64 install
I found some installable paths for you(from $PATH):
Id | Writable | Installed | Path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ EXAMPLE

执行 `gf gen enums` 命令生成枚举分析文件 `internal/boot/boot_enums.go`,生成文件之后,需要在项目入口文件匿名引入:

```
```go
import (
_ "项目模块名/internal/boot"
)
Expand Down
28 changes: 14 additions & 14 deletions docs/4-核心组件/0-对象管理.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ hide_title: true

**使用方式**

```
```go
import "github.com/gogf/gf/v2/frame/g"
```

Expand Down Expand Up @@ -79,23 +79,23 @@ type (

### `HTTP` 客户端对象

```
```go
func Client() *ghttp.Client
```

创建一个新的 `HTTP` 客户端对象。

### `Validator` 校验对象

```
```go
func Validator() *gvalid.Validator
```

创建一个新的数据校验对象。

### (单例) 配置管理对象

```
```go
func Cfg(name ...string) *gcfg.Config
```

Expand Down Expand Up @@ -127,70 +127,70 @@ func Cfg(name ...string) *gcfg.Config

### (单例) 日志管理对象

```
```go
func Log(name ...string) *glog.Logger
```

该单例对象将会自动读取默认配置文件中的 `logger` 配置项,并只会初始化一次日志对象。

### (单例) 模板引擎对象

```
```go
func View(name ...string) *gview.View
```

该单例对象将会自动读取默认配置文件中的 `viewer` 配置项,并只会初始化一次模板引擎对象。内部采用了 `懒初始化` 设计,获取模板引擎对象时只是创建了一个轻量的模板管理对象,只有当解析模板文件时才会真正初始化。

### (单例) `WEB Server`

```
```go
func Server(name ...interface{}) *ghttp.Server
```

该单例对象将会自动读取默认配置文件中的 `server` 配置项,并只会初始化一次 `Server` 对象。

### (单例) `TCP Server`

```
```go
func TcpServer(name ...interface{}) *gtcp.Server
```

### (单例) `UDP Server`

```
```go
func UdpServer(name ...interface{}) *gudp.Server
```

### (单例) 数据库 `ORM` 对象

```
```go
func DB(name ...string) *gdb.Db
```

该单例对象将会自动读取默认配置文件中的 `database` 配置项,并只会初始化一次 `DB` 对象。

此外,可以通过以下方法在默认数据库上创建一个 `Model` 对象:

```
```go
func Model(tables string, db ...string) *gdb.Model
```

### (单例) `Redis` 客户端对象

```
```go
func Redis(name ...string) *gredis.Redis
```

该单例对象将会自动读取默认配置文件中的 `redis` 配置项,并只会初始化一次 `Redis` 对象。

### (单例) 资源管理对象

```
```go
func Res(name ...string) *gres.Resource
```

### (单例) 国际化管理对象

```
```go
func I18n(name ...string) *gi18n.Manager
```
10 changes: 5 additions & 5 deletions docs/4-核心组件/1-调试模式.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ hide_title: true

框架调试模式下打印的调试信息将会以 `[INTE]` 级别的日志前缀输出到终端标准输出,并且会打印出所在源文件的名称以及代码行号,例如:

```
```html
2021-04-14 15:24:52.954 [INTE] gdb_driver_mysql.go:49 Open: root:12345678@tcp(127.0.0.1:3306)/test
2021-04-14 15:24:52.954 [INTE] gdb.go:492 open new connection success, master:false, config:&gdb.ConfigNode{Host:"", Port:"", User:"", Pass:"", Name:"", Type:"mysql", Role:"", Debug:false, Prefix:"", DryRun:false, Weight:0, Charset:"", LinkInfo:"root:12345678@tcp(127.0.0.1:3306)/test", MaxIdleConnCount:0, MaxOpenConnCount:0, MaxConnLifeTime:0, QueryTimeout:0, ExecTimeout:0, TranTimeout:0, PrepareTimeout:0, CreatedAt:"", UpdatedAt:"", DeletedAt:"", TimeMaintainDisabled:false}, node:&gdb.ConfigNode{Host:"", Port:"", User:"", Pass:"", Name:"", Type:"mysql", Role:"", Debug:false, Prefix:"", DryRun:false, Weight:0, Charset:"utf8", LinkInfo:"root:12345678@tcp(127.0.0.1:3306)/test", MaxIdleConnCount:0, MaxOpenConnCount:0, MaxConnLifeTime:0, QueryTimeout:0, ExecTimeout:0, TranTimeout:0, PrepareTimeout:0, CreatedAt:"", UpdatedAt:"", DeletedAt:"", TimeMaintainDisabled:false}
```
Expand Down Expand Up @@ -41,21 +41,21 @@ hide_title: true

启动程序的时候带上 `--gf.debug=true` 即可,例如:

```
```bash
$ ./app --gf.debug=true
```

```
```bash
$ ./app --gf.debug true
```

或者

```
```bash
$ ./app --gf.debug=1
```

```
```bash
$ ./app --gf.debug 1
```

Expand Down
18 changes: 9 additions & 9 deletions docs/4-核心组件/10-数据库ORM/0-ORM使用配置.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ hide_title: true

简化配置通过配置项 `link` 指定,格式如下:

```
```html
type:username:password@protocol(address)[/dbname][?param1=value1&...&paramN=valueN]
```

即:

```
```html
类型:账号:密码@协议(地址)/数据库名称?特性配置
```

Expand All @@ -32,7 +32,7 @@ type:username:password@protocol(address)[/dbname][?param1=value1&...&paramN=valu

示例:

```
```yaml
database:
default:
link: "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
Expand Down Expand Up @@ -60,7 +60,7 @@ database:

完整的 `config.yaml` 数据库配置项的数据格式形如下:

```
```yaml
database:
分组名称:
host: "地址"
Expand Down Expand Up @@ -95,7 +95,7 @@ database:

完整的数据库配置项示例( `YAML`):

```
```yaml
database:
default:
host: "127.0.0.1"
Expand Down Expand Up @@ -124,7 +124,7 @@ database:

`gdb` 的配置支持集群模式,数据库配置中每一项分组配置均可以是多个节点,支持负载均衡权重策略,例如:

```
```yaml
database:
default:
- link: "mysql:root:12345678@tcp(127.0.0.1:3306)/test"
Expand All @@ -147,7 +147,7 @@ database:

`gdb` 支持日志输出,内部使用的是 `glog.Logger` 对象实现日志管理,并且可以通过配置文件对日志对象进行配置。默认情况下 `gdb` 关闭了 `DEBUG` 日志输出,如果需要打开 `DEBUG` 信息需要将数据库的 `debug` 参数设置为 `true`。以下是为一个配置文件示例:

```
```yaml
database:
logger:
path: "/var/log/gf-app/sql"
Expand Down Expand Up @@ -234,7 +234,7 @@ func SetConfig(c Config)

默认分组表示,如果获取数据库对象时不指定配置分组名称,那么 `gdb` 默认读取的配置分组。例如: `gdb.NewByGroup()` 可获取一个默认分组的数据库对象。简单的做法,我们可以通过 `gdb` 包的 `SetConfig` 配置管理方法进行自定义的数据库全局配置,例如:

```
```go
gdb.SetConfig(gdb.Config {
"default" : gdb.ConfigGroup {
gdb.ConfigNode {
Expand Down Expand Up @@ -281,7 +281,7 @@ gdb.SetConfig(gdb.Config {

在某些场景下,数据库的账号密码无法明文配置到配置文件中,需要进行一定的加密。在连接数据库的时候,再对配置文件中加密的字段进行解密处理。这种需求可以通过自定义 `Driver` 来实现(关于 `Driver` 的详细介绍请参考章节: [ORM接口开发](/docs/核心组件/数据库ORM/ORM接口开发))。以 `mysql` 为例,我们可以自己编写一个 `Driver`,包裹框架社区组件中的 `mysql driver`,并且覆盖它的 `Open` 方法即可。代码示例:

```
```go
import (
"database/sql"
Expand Down
Loading

0 comments on commit 6af0d08

Please sign in to comment.