PhalGo-初识PhalGO PhalGo是一个API开发框架,因为使用了Echo框架同样也能用于MVC的开发,MVC具体可以参考Echo官方文档,对于PhalGo来说可以使用推荐的结构来设计的API...20160525.log │ ├── Routes //路由文件存放目录 │ └── routes.go │ └── main.go //入口文件 如上面所说的PhalGo...目录结构是灵活的,你可以修改目录结构只要满足使用PhalGo的几个条件 phalgo-sample phalgo-sample是一个官方提供的一个API例子项目,它配备了一套标准的目录结构,以及整体组件的使用...,可以下载进行参考 附上phalgo-sample地址:https://github.com/wenzhenxi/phalgo-sample cd $GOPATH/src git clone https...://github.com/wenzhenxi/phalgo-sample.git cd phalgo-sample go build main.go .
PhalGo-介绍 phalgo是一个Go语言的一体化开发框架,主要用于API开发应为使用ECHO框架作为http服务web程序一样可以使用,牛顿曾经说过"如果我比别人看得远,那是因为我站在巨人的肩膀上...所以就有了一个把一些优秀组件整合起来降低开发成本的想法,整合了比较好的组件比如echo,gorm,viper等等 phalgo名字的由来 phalgo是对phalapi和phalcon的致敬,吸取了一些好的思想...,应为是使用golnag编写所以命名为phalgo 安装 phalgo安装只需要使用如下命令即可,依赖会一同安装 go get github.com/wenzhenxi/phalgo phalgo的升级也很简单...: go get -u github.com/wenzhenxi/phalgo Holle,world!
PhalGo-Echo路由 Echo官网地址:https://labstack.com/echo Echo是PhalGo最核心的组件,负责了整体的请求路由返回等功能,并且Echo支持HTTP2协议以及HTTPS...协议 为什么选择Echo 在初期笔者考虑过Echo,gin以及beego来尝试实现自己的项目,最终还是选择了使用Echo来作为PhalGo的主要路由框架 让我决定的因素是应为Echo支持使用fasthttp...// Routes 载入路由 routes.GetRoutes() Echo支持restful标准 phalgo.Echo.Get() //接受Get请求 phalgo.Echo.Post()...//接受Post请求 phalgo.Echo.Delete() //接受Delete请求 phalgo.Echo.Put() //接受Put请求 phalgo.Echo.Any() //接受所有请求方式...() //自动删除末尾斜杠 phalgo.RemoveTrailingSlash()
PhalGo-Respones 在处理请求 Api 请求中 , 除了对 Request 之外最重要的就是 Response 了 , PhalGo 支持两种格式的参数返回一种是 Josn 一种是 XML..., 在 PhalGo 中默认使用JSON进行返回 , 可以在入口文件进行全局返回参数配置或在摸个接口内部指定此接口返回的参数类型 Response初始化 Response 和 Request 一样需要在...Ret 当然大家也有自己要求的返回格式 PhalGo 并不约束你需要使用 code,data,msg 这类格式 , PhalGo 提供了 Ret 方法接受一个结构类型进行返回 , 开发者可以按照约定的格式自行返回想要的内容...Status 码会是404 XML PhalGo 在支持 Json 的情况下同时也支持 XML 返回格式 , 只需要通过 SetRetType 方法进行设置 , 例子如下: phalgo.SetRetType...(phalgo.RETMXL) ?
PhalGo-Request PhalGo-Request对Echo进行了封装,目的是为了减少获取请求参数,转换类型,判断请求参数有效此类重复操作带来的代码量,PhalGo-Request支持Get,Post...Request初始化 PhalGo是灵活的你可以使用PhalGo-Request也可以使用Echo原生的参数获取(在使用restful风格的情况需要使用Echo原生获取方式),如果使用PhalGo-Request...需要在接口内部进行初始化方可使用: return func(c echo.Context) error { Request := phalgo.Requser{Context:c} } 获取Get和Post...那当然会是一个json对象,比如说我们要对请求参数进行加密,我们通常会把所有的请求参数放到一个json中进行加密然后传递过来解密之后使用,所以json在请求参数处理中是必不可少的,PhalGo-Request...如果大家对PhalGo有好的想法或者是有好的意见随时可以联系我!
PhalGo-介绍 phalgo是一个Go语言的一体化开发框架,主要用于API开发应为使用ECHO框架作为http服务web程序一样可以使用,牛顿曾经说过"如果我比别人看得远,那是因为我站在巨人的肩膀上...##PhalGo名字的由来 PhalGo是对PhalApi和PhalCon的致敬,吸取了一些好的思想,应为是使用golnag编写所以命名为PhalGo 安装 多谢各位同学的反馈PhalGo安装已经推荐使用...//你的项目名称 import: - package: github.com/wenzhenxi/phalgo PhalGo的升级也很简单,只需要在项目目录执行: glide up...因为有部分组件依赖golang.org国内网络可能会有问题,可以直接clone官方示例项目把项目phalgo-sample中的vendor复制到你的项目目录: phalgo-sample:https..." ) func main() { //初始化ECHO路由 phalgo.NewEcho() // Routes路由 phalgo.Echo.Get("/", func
#PhalGo-ADM思想 关于ADM思想主要是指在API开发中使用API,Domain和Model三层结构,PhalGo从PhalApi中学习并且推崇这种设计模式,这种模式的好处在于分工明确,业务复用...(this *User_Api)GetUserInfo() echo.HandlerFunc { return func(c echo.Context) error { Request := phalgo.Requser...{Context:c} Response := phalgo.Response{Context:c} defer Request.ErrorLogRecover() //获取请求参数...string { return "user" } func (this *User)GetInfoById(id int) (User, error) { User := User{} err := phalgo.GetORM
PhalGo-参数验证过滤 phalGo 的参数过滤使用 beego 提供的独立模块 validation 进行封装改造 , 从而达到可以和 request 一同使用的效果 , 通过统一的报错机制对不匹配的参数进行处理...连贯操作 当我们自己进行参数验证时,我们需要先获取参数,在判断参数是否存在,判断长度是否在制定范围内,在判断是否符合我们所需要的格式,尤其在Go语言需要花费大量的代码量来实现这一系列功能,但是在PhalGo...Require(true).Max(30).SetDefault("喵咪").GetString() 一个连贯操作就对一个参数进行很好的描述,而不用和传统的写法一样消耗大量的代码量在参数获取验证上面 使用方法 PhalGo...= nil { return Response.RetError(err, -1) } 注意:此处默认会返回首个验证失败的参数报错,当有多个验证失败也只返回首个 支持参数验证类型 PhalGo的参数验证支持大部分验证规则
("system.port") #返回一个string类型的":1234" phalgo.Config和**"github.com/spf13/viper"**是等价的,所以可以通过phalgo.Config...来调用viper提供的方法 ##Config详解 ###设置默认值 phalgo.Config.SetDefault("ContentDir", "content") phalgo.Config.SetDefault...": "categories"}) ###获取不同类型配置 phalgo.Config.Get(key string) : interface{} phalgo.Config.GetBool(key string...) : bool phalgo.Config.GetFloat64(key string) : float64 phalgo.Config.GetInt(key string) : int phalgo.Config.GetString...(key string) : time.Time phalgo.Config.GetDuration(key string) : time.Duration phalgo.Config.IsSet(key
PhalGo的目的 PhalGo不是新技术,也不是新的模式,而是继续将前人,大神和顶级大师写的非常优秀的组件进行整合进行分享,并且进行封装来更易于开发人员来进行使用,最终达到建立规范降低开发成本的目的,...这是PhalGo被创造出来核心的目的。...PhalGo名字的由来 PhalGo是对PhalApi和PhalCon的致敬,吸取了一些好的思想,应为是使用golnag编写所以命名为PhalGo 安装 多谢各位同学的反馈PhalGo安装已经推荐使用...因为有部分组件依赖golang.org国内网络可能会有问题,可以直接clone官方示例项目把项目phalgo-sample中的vendor复制到你的项目目录: phalgo-sample:https:/.../github.com/wenzhenxi/phalgo-sample Holle,world!
附上: 喵了个咪的博客:w-blog.cn phalgo地址:github.com/wenzhenxi/phalgo Go语言圣经:docs.ruanjiadeng.com/gopl-zh 1.
喵咪我今天又来开坑了,最近学习和使用了go语言了一段时间,也在组合一些好的组件编写phalgo开发框架.在想是不是可以来写一个套关于go语言的文章和一些好的组件的介绍使用,虽然自己也是半桶水但是我相信在编写的过程中能给自己很多收获...,最好也能帮助大家了解和熟悉golang这门语言,话不多说那么就开始今天的go语言之旅吧~ 附上: 喵了个咪的博客:w-blog.cn phalgo地址:github.com/wenzhenxi/phalgo
领取专属 10元无门槛券
手把手带您无忧上云