Go语言API开发框架 PhalGo

GPL
Google Go
跨平台
2016-06-03
喵了_个咪

前言

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
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

PhalGo-Viper获取配置

viper不用担心你的文件格式,可以获取环境变量,也可以从远端获取配置文件,并且还有缓冲机制,功能非常棒非常**牛逼**,能满足不同的对配置文件的使用的要求,所以PhalGo采用viper来解决配置问题...

2016/06/01 17:43
339
0
PhalGo-Echo路由

在初期笔者考虑过Echo,gin以及beego来尝试实现自己的项目,最终还是选择了使用Echo来作为PhalGo的主要路由框架 让我决定的因素是应为Echo支持使用fasthttp所以在效率上面基本其他框架没法比(...

2016/05/24 17:21
479
2
PhalGo-初识PhalGO

PhalGo是一个API开发框架,因为使用了Echo框架同样也能用于MVC的开发,MVC具体可以参考Echo官方文档,那么PhalGo来说可以使用推荐的结构来设计的API接口,也可以按照自己的需求来处理,这都是灵活...

2016/05/25 18:38
150
0
PhalGo-Respones

在处理请求 Api 请求中 , 除了对 Request 之外最重要的就是 Response 了 , PhalGo 支持两种格式的参数返回一种是 Josn 一种是 XML , 在 PhalGo 中默认使用JSON进行返回 , 可以在入口文件进行...

2016/07/12 16:33
60
0
PhalGo-介绍

phalgo是一个Go语言的一体化开发框架,主要用于API开发应为使用ECHO框架作为http服务web程序一样可以使用,牛顿曾经说过"如果我比别人看得远,那是因为我站在巨人的肩膀上",既然Golang有那么多优...

2016/05/23 10:12
667
2
PhalGo-Request

PhalGo-Request对Echo进行了封装,目的是为了减少**获取请求参数,转换类型,判断请求参数有效**此类重复操作带来的代码量,PhalGo-Request支持**Get,Post,Json**三类请求参数,并且使用连贯操作来...

2016/06/09 09:25
42
0
PhalGo-参数验证过滤

phalGo 的参数过滤使用 beego 提供的独立模块 **validation** 进行封装改造 , 从而达到可以和 request 一同使用的效果 , 通过统一的报错机制对不匹配的参数进行处理....

2016/07/08 16:49
215
1
PhalGo-介绍 PhalGo-介绍

angularjs: Hacking with Angular: 玩转ngOptions指令 PhalGo-介绍 PhalGo-介绍 Python 开发者在迁移到 Go(lang) 时需要知道哪些事? Go vs Erlang - 转 Go vs Erlang 并发 抢占式调度 垃圾回...

2016/05/25 17:38
22
0
PhalGo-ADM思想

关于ADM思想主要是指在API开发中使用API,Domain和Model三层结构,PhalGo从PhalApi中学习并且推崇这种设计模式,这种模式的好处在于分工明确,业务复用,数据复用可以减少复杂业务重复的代码量,**...

2016/05/26 15:09
84
0
[喵咪Golang(2)]安装和Helloworld

哈喽大家好啊!今天我们紧接着来学习关于Go语言的安装和使用Go打印出helloworld,本节内容将会讲解关于Go语言在Liunx下怎么安装,环境变量怎么配置分别起到了什么作用,然后我们把go运行起来并且...

2016/05/23 09:54
99
2

没有更多内容

加载失败,请刷新页面

返回顶部
顶部