溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于GO語言框架Gin開發(fā)MVC輪子框架GinLaravel的示例

發(fā)布時間:2021-04-28 13:40:50 來源:億速云 閱讀:347 作者:小新 欄目:編程語言

小編給大家分享一下基于GO語言框架Gin開發(fā)MVC輪子框架GinLaravel的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

什么是golang

golang 是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,其語法與 C語言相近,但并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能。

GinLaravel、GoLaravel介紹

基于GO框架Gin開發(fā),項目結(jié)構(gòu)和項目哲學(xué)參考Laravel,支持MVC開發(fā)模式。本項目展示了MVC處理數(shù)據(jù),同時展示”Safe—Controller—Kit”模式處理數(shù)據(jù)。

SCK模型大多數(shù)情況下是面向Api等,具有接口安全、請求數(shù)據(jù)直接易懂、復(fù)雜格式數(shù)據(jù)易操作(批量處理)、請求寬進嚴(yán)出等特點。SCK沒有model層,也不推薦使用model。/Gen1/展示了使用MVC方式處理數(shù)據(jù);/Gen3/展示了使用SCK處理數(shù)據(jù)和請求。

現(xiàn)已支持

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

理念

寬進嚴(yán)出,面向Api,能有效節(jié)約時間和保持秀發(fā)。

運行特點

內(nèi)存常駐,可似swoole,Golang開發(fā)速度是PHP的十分之一,可支持熱更。

項目目錄解釋

-/app/Common/ 對go原生封裝的公共函數(shù)、自定義必要數(shù)據(jù)參數(shù)配置

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

-/app/Kit/ 自定義系統(tǒng)服務(wù),包含第三方服務(wù)和系統(tǒng)功能服務(wù)

-/bootstrap/ 系統(tǒng)服務(wù)啟動、數(shù)據(jù)庫全局引用配置,一般不需要更改此處。

-/config/ MySQL數(shù)據(jù)庫、Redis緩存、http端口號等配置

-/routes/ 路由,同時支持模版型路由、Api型路由

-/storage/ 系統(tǒng)日志、文件上傳、靜態(tài)緩存

-/views/ 模版渲染的原始文件夾

-ginlaravel 項目生產(chǎn)的二進制文件,在生產(chǎn)環(huán)境用

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

-server.go 跑起本項目的入口go-main文件。

命名原則

自定義函數(shù):大駝峰
自定義變量:小駝峰
自定義結(jié)構(gòu)體和結(jié)構(gòu)體成員:大駝峰
MySQL:小寫+下劃線
接口名:小寫+下劃線
自定義文件夾名:大駝峰
系統(tǒng)集文件夾名:小寫

運行項目

Go運行環(huán)境。搭建Go和基礎(chǔ)Gin環(huán)境請參考:blog.csdn.net/weixin_41827162/arti...

MySQL(請將/項目資料/ginlaravel.sql 文件導(dǎo)入到數(shù)據(jù)庫)

cmd中運行”go run server.go”即可啟動項目。或使用熱更方式啟動http服務(wù),在cmd中目錄運行”fresh”。

訪問”127.0.0.1:8090/gen1/user/list_user “

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

如何初始化項目

以當(dāng)前目錄 /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

構(gòu)建依賴:
go mod tidy
go mod vendor

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

啟動MySQL數(shù)據(jù)庫:請自行啟動。

啟動Redis:請自行啟動。

在/config/mysql.go配置數(shù)據(jù)庫信息,用來連接你的數(shù)據(jù)庫。

啟動http服務(wù):
go run server.go

如何運行fresh熱更服務(wù)

以項目目錄 /Users/fyonecon/go/src/ginlaravel 為例

去.bash_profile文件目錄:
cd ~運行:
source ~/.bash_profile

切換到項目目錄:
cd go/src/ginlaravel

開啟熱更:
fresh

退出http服務(wù)用快捷鍵:Ctrl + C ?;蛑苯雨P(guān)閉終端窗口。

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

熱更服務(wù)文檔:github.com/gravityblast/fresh 。

(Mac環(huán)境)將項目打包成二進制文件

項目根目錄:
    go build -mod=mod

此時,在項目目錄生成或更新了ginlaravel二進制文件。
開啟文件的可執(zhí)行權(quán)限:
    chmod 773 ginlaravel

在根目錄運行:    ./ginlaravel

即可開啟二進制服務(wù)。

以上是“基于GO語言框架Gin開發(fā)MVC輪子框架GinLaravel的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI