首頁 >後端開發 >Golang >介紹基於GO語言框架Gin開發的MVC輪子框架:GinLaravel

介紹基於GO語言框架Gin開發的MVC輪子框架:GinLaravel

藏色散人
藏色散人轉載
2021-04-28 11:49:123893瀏覽

以下由golang教學專欄為大家介紹基於GO語言框架Gin開發的MVC輪子框架:GinLaravel ,希望對需要的朋友有幫助!

Github:github.com/fyonecon/ginlaravel

Gitee:gitee.com/fyonecon/ginlaravel

#GinLaravel、GoLaravel介紹

基於GO架構Gin開發,專案結構與專案哲學參考Laravel,支持MVC開發模式。本專案展示了MVC處理數據,同時展示”Safe—Controller—Kit」模式處理數據。

SCK模型大多數情況下是面向Api等,具有介面安全性、請求資料直接易懂、複雜格式資料易操作(批次處理)、請求寬進嚴出等特點。 SCK沒有model層,也不建議使用model。 /Gen1/展示了使用MVC方式處理資料;/Gen3/展示了使用SCK處理資料和請求。

現已支援

Go-MySQL、Go-Redis、熱更(fresh)、MVC、模版輸出、Http存取頻率攔截、HttpCors、對稱加密(可中文)、http攔截器、Form上傳檔。

理念

寬進嚴出,面對Api,能有效節約時間和維持秀髮。

運行特點

記憶體常駐,可似swoole,Golang開發速度是PHP的十分之一,可支援熱更。

專案目錄解釋

-/app/Common/ 對go原生封裝的公共函數、自訂必要資料參數配置

-/app/Http/ 控制器、模型、攔截器

-/app/Kit/ 自訂系統服務,包含第三方服務和系統功能服務

-/bootstrap/ 系統服務啟動、資料庫全域參考配置,一般不需要變更此處。

-/config/ MySQL資料庫、Redis快取、http埠號等設定

-/routes/ 路由,同時支援範本型路由、Api型路由

-/storage/ 系統日誌、檔案上傳、靜態快取

-/views/ 模版渲染的原始資料夾

-ginlaravel 專案生產的二進位文件,在生產環境用

-go.mod 專案所依賴的module路徑、第三方庫等的引入

-server.go 跑起本專案的入口go-main檔案。

命名原則

自訂函數:大駝峰

自訂變量:小駝峰

自訂結構體與結構體成員:大駝峰

MySQL:小寫下底線

介面名稱:小寫下底線

自訂資料夾名稱:大駝峰

系統集資料夾名稱:小寫

運行專案

Go運行環境。建立Go和基礎Gin環境請參考:blog.csdn.net/weixin_41827162/arti...

MySQL(請將/專案資料/ginlaravel.sql 檔案匯入到資料庫)

cmd中執行”go run server.go”即可啟動專案。或使用熱更方式啟動http服務,在cmd中目錄執行”fresh」。

存取」127.0.0.1:8090/gen1/user/list_user “

專案上線:serverConfig[“ENV”]的值改成release,然後使用以上同樣方法運行。

如何初始化專案

以目前目錄/Users/fyonecon/go/src/ 為例

获取源代码:
git clone https://github.com/fyonecon/ginlaravel.git
cd go/src/ginlaravel

使用 govendor 安装依赖包:
go get -u -v github.com/kardianos/govendor
govendor sync

初始化项目:
go mod init

构建依赖:
go mod tidy
go mod vendor

打包成二进制文件:
go build -mod=mod

启动MySQL数据库:请自行启动。

启动Redis:请自行启动。

在/config/mysql.go配置数据库信息,用来连接你的数据库。

启动http服务:
go run server.go

#如何執行fresh熱更服務

以專案目錄/Users/fyonecon/go/src/ginlaravel 為例

去.bash_profile文件目录:
cd ~运行:
source ~/.bash_profile

切换到项目目录:
cd go/src/ginlaravel

开启热更:
fresh

退出http服务用快捷键:Ctrl + C 。或直接关闭终端窗口。

以上即可專案開啟的fresh熱更服務。
若想一直開啟終端機窗口,請使用screen(yum install screen)來保持窗口。

热更服务文档:github.com/gravityblast/fresh 。

(Mac环境)将项目打包成二进制文件

项目根目录:
    go build -mod=mod

此时,在项目目录生成或更新了ginlaravel二进制文件。
开启文件的可执行权限:
    chmod 773 ginlaravel

在根目录运行:    ./ginlaravel

即可开启二进制服务。

以上是介紹基於GO語言框架Gin開發的MVC輪子框架:GinLaravel的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除