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命令使用图解
下一篇:
相关文章
-
无相关信息