PHP 转 Go,用 Laravel、thinkphp 的用法造了一个 ThinkGo 框架,请大佬们来指点 - V2EX
The Go Programmng Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
techone

PHP 转 Go,用 Laravel、thinkphp 的用法造了一个 ThinkGo 框架,请大佬们来指点

  •  
  •   techone
    leeqvip Jan 29, 2019 6634 views
    This topic created in 2676 days ago, the information mentioned may be changed or developed.

    ThinkGo 是一个轻量级的 Go 语言 MVC 框架,目前支持路由、中间件、控制器、请求、响应、Session、视图、日志等 web 框架应该具备的基本功能,致力于让代码简洁、富于表达力,帮助开发者快速构建一个 Web 应用。

    安装

    go get -u github.com/thinkoner/thinkgo 

    用法

    package main import ( "github.com/thinkoner/thinkgo" "fmt" "github.com/thinkoner/thinkgo/router" "github.com/thinkoner/thinkgo/context" ) func main() { app := thinkgo.BootStrap() app.RegisterRoute(func(route *router.Route) { route.Get("/", func(req *context.Request) *context.Response { return thinkgo.Text("Hello ThinkGo !") }) route.Get("/ping", func(req *context.Request) *context.Response { return thinkgo.Json(map[string]string{ "message": "pong", }) }) // Dependency injection route.Get("/user/{name}", func(req *context.Request, name string) *context.Response { return thinkgo.Text(fmt.Sprintf("Hello %s !", name)) }) }) // listen and serve on 0.0.0.0:9011 app.Run() } 

    项目地址

    GitHub: https://github.com/thinkoner/thinkgo

    Gitee: https://gitee.com/thinkgo/thinkgo

    请大佬们来指点指点,贡献贡献代码啊。。。

    28 replies    2019-02-12 17:56:48 +08:00
    fullpowers
        1
    fullpowers  
       Jan 29, 2019
    年轻人喜欢折腾啊
    loading
        2
    loading  
       Jan 29, 2019 via Android
    thinkphp 没用过,目前在用 gin。
    在补充轮子。
    techone
        3
    techone  
    OP
       Jan 29, 2019
    快来一起造轮子
    Immortal
        4
    Immortal  
       Jan 29, 2019   1
    大佬很强
    但感觉这样又会失去 go 的味道 成了另一种 php?
    2805408253
        5
    2805408253  
       Jan 29, 2019
    @loading 产线有 gin 高并发使用的吗
    loading
        6
    loading  
       Jan 29, 2019 via Android
    @2805408253 目前我觉得我其实只用了路由……
    nimrc
        7
    nimrc  
       Jan 29, 2019
    beego 已经实现了你的想法,且已经被喷成狗屎
    xkeyideal
        8
    xkeyideal  
       Jan 29, 2019
    说句批评的话,先不看代码质量如何,go web 不需要 php 那种一把索的框架。
    一直反对全家桶的方案
    xkeyideal
        9
    xkeyideal  
       Jan 29, 2019
    看了一下,只看了路由匹配算法,楼主采用的是正则,这就没有了性能可言。
    TIGERB
        10
    TIGERB  
       Jan 29, 2019
    挺不错,但是 go 真的不适合 mvc
    janxin
        11
    janxin  
       Jan 29, 2019
    @loading 一般都是用路由跟中间件系统了,其他的也没什么用的
    keysona
        12
    keysona  
       Jan 29, 2019   1
    公司项目在用 gin,不过新特性加得比较慢,而且感觉维护者也不怎么上心,相对隔壁 iris 而言。

    最近在研究 iris 了。
    janxin
        13
    janxin  
       Jan 29, 2019
    @keysona iris 黑历史了解一下

    新特性也没必要追的太勤吧...
    keysona
        14
    keysona  
       Jan 29, 2019
    @janxin

    求科普黑历史。也是刚关注。
    myyou
        15
    myyou  
       Jan 29, 2019
    @keysona iris 依赖太多,各种不知名小库依赖一大堆。gin 并不是不上心,gin 发版频率低,但是经常有新代码提交
    Hellert
        16
    Hellert  
       Jan 29, 2019
    在前后端分离的情况下,golang web 主要还是写 api server 的多,由于 net/http 实现了绝大部分功能(自带 web 服务器,这个 php 不能比 ),所以有 gin, echo 这种路由+中间件的库足够用了,再外加一些第三方的 session, validation 包,就可以处理绝大多数场景,用大而全的只会增加性能负担。
    loading
        17
    loading  
       Jan 29, 2019 via Android
    @janxin gin 的中间件依赖很多,有点不想用。
    reus
        18
    reus  
       Jan 29, 2019
    老式 mvc 框架还不如直接 beego。
    新式 api 服务器不需要这些多余的。
    AngryPanda
        19
    AngryPanda  
       Jan 29, 2019
    所以 laravel 和 thinkphp 在你看来,是一样的?
    techone
        20
    techone  
    OP
       Jan 29, 2019
    @AngryPanda 来来来,讨论一下
    techone
        21
    techone  
    OP
       Jan 29, 2019
    @reus 框架的目的是快速开发,框架带的东西不一定都要求用啊,好比 beego,可以 beego+gorm,不一定非用 beego orm
    danc
        22
    danc  
       Jan 29, 2019
    mamahaha
        23
    mamahaha  
       Jan 29, 2019
    把.php 改成.go ,任务完成。
    techone
        24
    techone  
    OP
       Jan 29, 2019
    @danc 来来,一起贡献代码
    techone
        25
    techone  
    OP
       Jan 30, 2019
    @mamahaha 高手
    hp66722667
        26
    hp66722667  
       Feb 1, 2019
    php 是世界上最好的语言
    bzeron
        27
    bzeron  
       Feb 2, 2019   1
    大佬们,你们好,我之前也封装了一个 gin 的 https://github.com/bzeron/gin-web
    techone
        28
    techone  
    OP
       Feb 12, 2019
    @hp66722667 你说的很对
    About     Help     Advertise     Blog     API     FAQ     Solana     5308 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 92ms UTC 07:17 PVG 15:17 LAX 00:17 JFK 03:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86