日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

golang web php,GitHub - kai-xx/goWeb: golang web 接口实现 -- 类似PHP的laravel

發布時間:2023/12/2 php 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang web php,GitHub - kai-xx/goWeb: golang web 接口实现 -- 类似PHP的laravel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

goWeb

gorose orm+dotweb框架實現接口 -- 類似PHP的laravel

項目結構說明

因為 gorose orm 和 dotweb 框架 都是基于獨立的組件, 所以我們可以對項目的目錄做出自由的規劃.

在這里, 我們便規劃一個遵循一般的mvc結構的項目目錄.

為了項目的易維護性和高可用性, 我們盡量采取成熟的架構, 分離業務模塊, 這里就借鑒 php 界最火爆的框架拉 laravel 的設計思想, 做出簡單的涉設計架構

目錄大致如下:

路由: /router/

放置所有路由, 這里會用到dotweb的路由組件, 所有請求的入口都會經過這里

控制器: /controller/

放置所有控制器, 這里就是基本的業務邏輯處理曾

數據操作: /model/

放置所有model, 這里就是gorose orm的主戰場, 所有的數據庫操作都在這里完成

中間件: /middleware/

放置所有中間件, 這里可以放置各種狂拽酷炫吊炸天的組件

入口目錄: /bootstrap/

系統中用到的組件, 統一在這里驅動, 便于維護管理, 本項目主要包含gorose和dotweb在這里驅動

配置目錄: /config/

必須是放置所有的配置文件在這里

日志目錄: /log/

這個沒什么說的

成型目錄結構

goWeb

bootstrap

bootDatabase.go

bootRouter.go

config

database.go

middleware

Auth.go

controller

Goods.go

model

Goods.go

router

route.go

main.go

以上各個組件, 除了model模塊采用gorose的orm組件之外, 路由和部分中間件模塊均由dotweb中對應的組件來完成, 這里就更能提現出組件化框架dotweb的強大之處了

路由說明

這里用到了 dotweb 的相關組件, 有 HttpServer , Context 和 cors 中間件

他們分別作用于 路由, 請求參數等相關和中間件(比如跨域) 等

Route.GET 代表該請求位 get 請求

Route.POST 代表該請求位 post 請求

Route.Group 將請求歸類

Route.Group.Use 使用中間件

option 中間件初始化

cors.Middleware(option) 加載中間件option

controller.xxxxx 加載控制器的對應方法

控制器和模型說明

// 控制器

func GetGoodsById(context dotweb.Context) error {

res := model.GetGoodsById(context)

ctx.WriteJson(utils.SuccessReturn(res))

return nil

}

說明:

context 請求的內容

context.WriteJson 返回 json 格式數據

utils.SuccessReturn 工具包中封裝的成功返回函數

model 引入的模型目錄, 內容如下:

// 模型

func GetGoodsById(context dotweb.Context) interface{} {

res, err := bootstrap.DB.Table("goods").

Where("id", context.FormValue("id")).

First()

if err != nil {

return ""

}

return res

}

測試

啟動服務

go run main.go

出現如下信息

start……,port:8099,visit:http://localhost:8099

部署上線

打包項目

go build main.go

運行項目

nohup ./main &

總結

以上是生活随笔為你收集整理的golang web php,GitHub - kai-xx/goWeb: golang web 接口实现 -- 类似PHP的laravel的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。