The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
techone

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

  •  
  •   techone ·
    leeqvip · Jan 29, 2019 · 6575 views
    This topic created in 2660 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   ·   1037 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 18:59 · PVG 02:59 · LAX 11:59 · JFK 14:59
    ♥ Do have faith in what you're doing.