您好,登錄后才能下訂單哦!
小編給大家分享一下基于GO語言框架Gin開發(fā)MVC輪子框架GinLaravel的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
golang 是Google開發(fā)的一種靜態(tài)強類型、編譯型、并發(fā)型,并具有垃圾回收功能的編程語言,其語法與 C語言相近,但并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數(shù)等功能。
基于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ù)和請求。
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文件。
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
以項目目錄 /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 。
項目根目錄: 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è)資訊頻道!
免責(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)容。