1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-05 08:30:54 +00:00
Beego/docs/zh/Quickstart.md
2013-04-13 00:11:52 +08:00

3.5 KiB
Raw Blame History

快速入门

你对beego一无所知没关系这篇文档会很好的详细介绍beego的各个方面看这个文档之前首先确认你已经安装了beego如果你没有安装的话请看这篇安装指南

##导航

最小应用

一个最小最简单的应用如下代码所示:

package main

import (
	"github.com/astaxie/beego"
)

type MainController struct {
	beego.Controller
}

func (this *MainController) Get() {
	this.Ctx.WriteString("hello world")
}

func main() {
	beego.Router("/", &MainController{})
	beego.Run()
}

把上面的代码保存为hello.go然后通过命令行进行编译并执行

$ go build main.go
$ ./hello

这个时候你可以打开你的浏览器,通过这个地址浏览http://127.0.0.1:8080返回“hello world”

那么上面的代码到底做了些什么呢?

1、首先我们引入了包github.com/astaxie/beego,我们知道Go语言里面引入包会深度优先的去执行引入包的初始化(变量和init函数更多)beego包中会初始化一个BeeAPP的应用初始化一些参数。

2、定义Controller这里我们定义了一个struct为MainController充分利用了Go语言的组合的概念匿名包含了beego.Controller,这样我们的MainController就拥有了beego.Controller的所有方法。

3、定义RESTFul方法通过匿名组合之后其实目前的MainController已经拥有了GetPostDeletePut等方法这些方法是分别用来对应用户请求的Method函数如果用户发起的是POST请求,那么就执行Post函数。所以这里我们定义了MainControllerGet方法用来重写继承的Get函数,这样当用户GET请求的时候就会执行该函数。

4、定义main函数所有的Go应用程序和C语言一样都是Main函数作为入口所以我们这里定义了我们应用的入口。

5、Router注册路由路由就是告诉beego当用户来请求的时候该如何去调用相应的Controller这里我们注册了请求/的时候,请求到MainController。这里我们需要知道Router函数的两个参数函数第一个是路径第二个是Controller的指针。

6、Run应用最后一步就是把在1中初始化的BeeApp开启起来其实就是内部监听了8080端口:Go默认情况会监听你本机所有的IP上面的8080端口

停止服务的话,请按ctrl+c

新建项目

通过如下命令创建beego项目首先进入gopath目录

bee create hello

这样就建立了一个项目hello目录结构如下所示

.
├── conf
│   └── app.conf
├── controllers
│   └── default.go
├── main.go
├── models
├── static
│   ├── css
│   ├── img
│   └── js
└── views
    └── index.tpl

开发模式

路由设置

静态文件

模板处理

request处理

跳转和错误

response处理

Sessions

Cache设置

安全的Map

日志处理

第三方应用集成

部署编译应用