您好,登錄后才能下訂單哦!
小編給大家分享一下基于GO語言框架Gin開發MVC輪子框架GinLaravel的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
golang 是Google開發的一種靜態強類型、編譯型、并發型,并具有垃圾回收功能的編程語言,其語法與 C語言相近,但并不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能。
基于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文件。
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
以項目目錄 /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 。
項目根目錄: go build -mod=mod 此時,在項目目錄生成或更新了ginlaravel二進制文件。 開啟文件的可執行權限: chmod 773 ginlaravel 在根目錄運行: ./ginlaravel 即可開啟二進制服務。
以上是“基于GO語言框架Gin開發MVC輪子框架GinLaravel的示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。