😈😈开启beego学习之路
1.beego 简介
beego 是一个快速开发GO应用的HTTP框架,他可以用来快速开发API、Web 及后端服务等各种应用,是一个RESTful 的框架,主要设计灵感来源于 tomado、sinatra 和 flask 这三个框架,但是结合了GO 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。
那什么是框架呢?
就是别人写好的代码,我们可以直接使用!这个代码是专门针对某一开发方向定制的。
2.MVC 架构
Beego是MVC架构。MVC是一种非常广泛的体系架构,几乎所有编程语言都会使用到,而且所有程序员在工作中都会遇到!用MVC 的方式开发程序,可以让程序的结构更加合理和清晰。
MVC :
Model 模型,处理数据库有关内容
View 视图,处理HTML显示的有关内容
Controller 控制器,联通Model和View
Web 框架中MVC 工作流程
1.请求到控制器
2.控制器拿到请求,先找到Model拿数据
3.控制器把数据传给View,View 构造页面
4.控制器把页面返回给请求
3.beego 安装升级
安装
beego 的安装是典型的 Go 安装包形式:
go get github.com/astaxie/beego
常见问题:
git 没有安装,请自行安装不同平台的 git,如何安装请自行搜索。
git https 无法获取,请配置本地的 git,关闭 https 验证:
git config --global http.sslVerify false
升级
Go 升级
通过该方式用户可以升级 beego 框架,强烈推荐:
go get -u github.com/astaxie/beego
4.beego 新建项目
可以使用bee工具快速建立项目
5.beego 项目结构
一般的 beego 项目的目录如下所示:
├── conf
│ └── app.conf
├── controllers
│ ├── admin
│ └── default.go
├── main.go
├── models
│ └── models.go
├── routers
│ └── routers.go
├── static
│ ├── css
│ ├── ico
│ ├── img
│ └── js
└── views
├── admin
└── index.tpl
conf : 放一些配置文件
controllers :控制器,连接路由
main.go :入口文件
models:连接数据库,处理数据
routers: 路由
static:放一些静态文件
views:视图,HTML文件
路由
作用:根据不同的请求指定不同的控制器
函数:映射 URL (用户请求的地址)到 controller
func init() {
beego.Router("/", &controllers.MainController{})
}
6.beego 运行流程
1.浏览器发起请求url
2.请求到路由router,路由分发到控制器controller
3.控制器找到Model拿数据
4.控制器把数据传递给View ,构造页面
5.控制器把页面返回给浏览器