Beego 学习 | 青训营笔记

73 阅读2分钟

Beego 学习

beego 简介

资料:www.topgoer.cn/docs/beegoz…

beego 是一个快速开发GO应用的HTTP框架,他可以用来快速开发API、Web 及后端服务等各种应用,是一个RESTful 的框架,主要设计灵感来源于 tomado、sinatra 和 flask 这三个框架,但是结合了GO 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

那什么是框架呢?就是别人写好的代码,我们可以直接使用!这个代码是专门针对某一开发方向定制的。

beego 安装

beego 的安装是典型的 Go 安装包形式:

go get github.com/astaxie/beego

MVC 架构

Beego是MVC架构。MVC是一种非常广泛的体系架构,几乎所有编程语言都会使用到,而且所有程序员在工作中都会遇到!用MVC 的方式开发程序,可以让程序的结构更加合理和清晰。

MVC :

Model 模型,处理数据库有关内容

View 视图,处理HTML显示的有关内容

Controller 控制器,联通Model和View

image.png

Web 框架中MVC 工作流程

1.请求到控制器

2.控制器拿到请求,先找到Model拿数据

3.控制器把数据传给View,View 构造页面

4.控制器把页面返回给请求

beego 新建项目

可以使用bee工具快速建立项目

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{})
}

beego 运行流程

1.浏览器发起请求url

2.请求到路由router,路由分发到控制器controller

3.控制器找到Model拿数据

4.控制器把数据传递给View ,构造页面

5.控制器把页面返回给浏览器