mirror of
https://gitea.com/gitea/docs.git
synced 2026-07-22 11:07:50 +00:00
Update zh tw languages and fix some broken links (#455)
--------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: silverwind <2021+silverwind@noreply.gitea.com> Reviewed-on: https://gitea.com/gitea/docs/pulls/455 Reviewed-by: silverwind <2021+silverwind@noreply.gitea.com>
This commit is contained in:
@@ -28,9 +28,9 @@ Gitea 使用 Golang 作為後端程式語言。它使用了許多第三方套件
|
||||
- `models`: 包含由 xorm 用來構建資料庫表格的資料結構。它也包含查詢和更新資料庫的函數。應避免依賴其他 Gitea 程式碼。可以在某些情況下例外,例如記錄。
|
||||
- `models/db`: 基本的資料庫操作。所有其他 `models/xxx` 套件應依賴此套件。`GetEngine` 函數應僅從 `models/` 調用。
|
||||
- `models/fixtures`: 單元測試和整合測試中使用的樣本資料。一個 `yml` 文件代表一個表格,測試開始時會將其載入資料庫。
|
||||
- `models/migrations`: 存儲版本之間的資料庫遷移。更改資料庫結構的 PR **必須** 也有遷移步驟。
|
||||
- `models/migrations`: 儲存版本之間的資料庫遷移。更改資料庫結構的 PR **必須** 也有遷移步驟。
|
||||
- `modules`: 處理 Gitea 中特定功能的不同模組。進行中:其中一些應移動到 `services`,特別是那些依賴於 models 的,因為它們依賴於資料庫。
|
||||
- `modules/setting`: 存儲從 ini 文件讀取的所有系統配置,並已被各處引用。但應盡可能作為函數參數使用。
|
||||
- `modules/setting`: 儲存從 ini 文件讀取的所有系統設定,並已被各處引用。但應盡可能作為函數參數使用。
|
||||
- `modules/git`: 與 `Git` 命令行或 Gogit 套件互動的套件。
|
||||
- `public`: 編譯後的前端文件(javascript、圖片、css 等)。
|
||||
- `routers`: 處理伺服器請求。由於它使用其他 Gitea 套件來處理請求,其他套件(models、modules 或 services)不得依賴 routers。
|
||||
@@ -38,12 +38,12 @@ Gitea 使用 Golang 作為後端程式語言。它使用了許多第三方套件
|
||||
- `routers/install` 僅在系統處於安裝模式(INSTALL_LOCK=false)時響應。
|
||||
- `routers/private` 只會被內部子命令調用,特別是 `serv` 和 `hooks`。
|
||||
- `routers/web` 會處理來自網頁瀏覽器或 Git SMART HTTP 協議的 HTTP 請求。
|
||||
- `services`: 支持常見路由操作或命令執行的函數。使用 `models` 和 `modules` 來處理請求。
|
||||
- `services`: 支援常見路由操作或命令執行的函數。使用 `models` 和 `modules` 來處理請求。
|
||||
- `templates`: 用於生成 html 輸出的 Golang 模板。
|
||||
|
||||
### 套件依賴
|
||||
|
||||
由於 Golang 不支持導入循環,我們必須仔細決定套件依賴關係。這些套件之間有一些層次。以下是理想的套件依賴方向。
|
||||
由於 Golang 不支援導入循環,我們必須仔細決定套件依賴關係。這些套件之間有一些層次。以下是理想的套件依賴方向。
|
||||
|
||||
`cmd` -> `routers` -> `services` -> `models` -> `modules`
|
||||
|
||||
@@ -52,7 +52,7 @@ Gitea 使用 Golang 作為後端程式語言。它使用了許多第三方套件
|
||||
:::warning
|
||||
為什麼我們需要在 `models` 之外的資料庫交易?以及如何實現?
|
||||
某些操作應允許在資料庫記錄插入/更新/刪除失敗時回滾。
|
||||
因此,services 必須允許創建資料庫交易。這裡有一些例子,
|
||||
因此,services 必須允許建立資料庫交易。這裡有一些例子,
|
||||
|
||||
```go
|
||||
// services/repository/repository.go
|
||||
@@ -112,6 +112,6 @@ func UpdateIssue(ctx context.Context, repoID int64) error {
|
||||
|
||||
目前,我們正在進行一些重構,以完成以下事情:
|
||||
|
||||
- 修正不符合規則的代碼。
|
||||
- 修正不符合規則的程式碼。
|
||||
- `models` 中的文件太多了,所以我們正在將其中一些移動到子套件 `models/xxx`。
|
||||
- 一些 `modules` 子套件應移動到 `services`,因為它們依賴於 `models`。
|
||||
|
||||
Reference in New Issue
Block a user