PhalGoGo语言API开发框架
前言
PhalGo是一个Go语言开发的一体化开发框架,主要用于API开发,因为使用ECHO框架作为http服务,MVC模式一样可以使用,牛顿曾经 说过"如果我比别人看得远,那是因为我站在巨人的肩膀上",既然Golang有那么多优秀的组件为什么还要重复造轮子呢?所以就有了一个把一些优秀组件整 合起来降低开发成本的想法,整合了比较好的组件比如echo,gorm,viper等等,开源出来希望可以帮助到大家,也希望和大家一起交流!
注意:框架前期还不是很完善,请不要直接使用到生产环境!
PhalGo的目的
PhalGo不是新技术,也不是新的模式,而是继续将前人,大神和顶级大师写的非常优秀的组件进行整合进行分享,并且进行封装来更易于开发人员来进行使用,最终达到建立规范降低开发成本的目的,这是PhalGo被创造出来核心的目的。
PhalGo名字的由来
PhalGo是对PhalApi和PhalCon的致敬,吸取了一些好的思想,应为是使用golnag编写所以命名为PhalGo
安装
多谢各位同学的反馈PhalGo安装已经推荐使用glide进行安装
glide工具的安装也很简单可以参考:https://github.com/Masterminds/glide
我们只需要在我们的项目目录建立glide.yaml文件加以下内容然后执行glide install便会自动开始安装
package: phalgo-sample //你的项目名称 import: - package: github.com/wenzhenxi/phalgo
PhalGo的升级也很简单,只需要在项目目录执行:
glide up
因为有部分组件依赖golang.org国内网络可能会有问题,可以直接clone官方示例项目把项目phalgo-sample中的vendor复制到你的项目目录:
phalgo-sample:https://github.com/wenzhenxi/phalgo-sample
Holle,world!
创建文件 server.go
package main import ( "github.com/wenzhenxi/phalgo" "github.com/labstack/echo" ) func main() { //初始化ECHO路由 phalgo.NewEcho() // Routes路由 phalgo.Echo.Get("/", func(c echo.Context) error { Response := phalgo.Response{Context:c} return Response.RetSuccess("hello,world!") }) //开启服务 phalgo.RunFasthttp(":1333") }
运行:
go run server.go
请求localhost:1333:
依赖
//配置文件读取 go get github.com/spf13/viper //辅助使用,参数过滤,curl等 go get github.com/astaxie/beego //主要路由 go get github.com/labstack/echo //主要数据操作 go get github.com/jinzhu/gorm //log记录 go get github.com/Sirupsen/logrus //进程级别缓存 go get github.com/coocood/freecache //高速http go get github.com/valyala/fasthttp //redis依赖 go get github.com/garyburd/redigo //注意会使用到如下依赖(国内可能需要翻墙) golang.org/x/net/context golang.org/x/sys/unix golang.org/x/crypto/md4