素材巴巴 > 程序开发 >

Go Web beego框架入门分析

程序开发 2023-09-08 06:19:14

安装beego框架和bee工具,bee工具用来创建和启动项目

下面是创建出来的目录结构,可以看出MVC框架的结构

主函数

package mainimport (_ "myapp/routers""github.com/astaxie/beego"
 )func main() {beego.Run()
 }

引入包中前面的-代表执行初始化方法

package routersimport ("myapp/controllers""github.com/astaxie/beego"
 )func init() {beego.Router("/", &controllers.MainController{})
 }

下面去看controllers包的MainController

package controllersimport ("github.com/astaxie/beego"
 )type MainController struct {beego.Controller
 }func (c *MainController) Get() {c.Data["Website"] = "beego.me"c.Data["Email"] = "astaxie@gmail.com"c.TplName = "index.tpl"
 }

 这里实际上是一个页面模板,index.tpl在model文件夹中,上面两个参数在这个网页中这个位置出现

 

 

路由包里面我们看到执行了路由注册 beego.Router, 这个函数的功能是映射 URL 到 controller,第一个参数是 URL (用户请求的地址),这里我们注册的是 /,也就是我们访问的不带任何参数的 URL,第二个参数是对应的 Controller,也就是我们即将把请求分发到那个控制器来执行相应的逻辑,我们可以执行类似的方式注册如下路由:

beego.Router("/user", &controllers.UserController{})

这样用户就可以通过访问 /user 去执行 UserController 的逻辑。这就是我们所谓的路由,更多更复杂的路由规则请查询 beego 的路由设置

再回来看看 main 函数里面的 beego.Run, beego.Run 执行之后,我们看到的效果好像只是监听服务端口这个过程,但是它内部做了很多事情:

配置文件

appname = myapp
 httpport = 8080
 runmode = dev

一旦 run 起来之后,我们的服务就监听在两个端口了,一个服务端口 8080 作为对外服务,另一个 8088 端口实行对内监控。

通过这个代码的分析我们了解了 beego 运行起来的过程,以及内部的一些机制。接下来让我们去剥离 Controller 如何来处理逻辑的。

 

beego 框架各个目录的功能分析

 


标签:

上一篇: hash命令使用图解 下一篇:
素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。