1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-17 19:00:55 +00:00

最新的中文文档,还在完善中

This commit is contained in:
astaxie 2013-04-11 00:32:36 +08:00
parent f00ac81008
commit 5a48c0ad03
8 changed files with 122 additions and 0 deletions

0
docs/zh/Application.md Normal file
View File

26
docs/zh/Install.md Normal file
View File

@ -0,0 +1,26 @@
# 安装入门
beego虽然是一个简单的框架但是其中用到了很多第三方的包所以在你安装beego的过程中Go会自动安装其他关联的包。
- 当然第一步你需要安装Go如何安装Go请参考我的书[第一章](https://github.com/astaxie/build-web-application-with-golang/blob/master/ebook/01.1.md)
- 安装beego
go get github.com/astaxie/beego
- 安装bee工具,这个工具可以用来快速的建立beego的应用
go get github.com/astaxie/bee
这样就完成了beego的安装你就可以开始开发了,可以通过bee工具来创建beego项目
![](images/bee.png)
>beego依赖的第三方包有如下
> - session模块github.com/astaxie/beego/session
> - session模块中支持redis引擎github.com/garyburd/redigo/redis
> - session模块中支持mysql引擎github.com/go-sql-driver/mysql
> - 模板函数中支持markdown转化github.com/russross/blackfriday

30
docs/zh/Quickstart.md Normal file
View File

@ -0,0 +1,30 @@
# 快速入门
你对beego一无所知没关系这篇文档会很好的详细介绍beego的各个方面看这个文档之前首先确认你已经安装了beego如果你没有安装的话请看这篇[安装指南](Install.md)
## 最小应用
## 开发模式
## 路由设置
## 静态文件
## 模板处理
## request处理
## 跳转和错误
## response处理
## Sessions
## Cache设置
## 安全的Map
## 日志处理
## 第三方应用集成
## 部署编译应用

49
docs/zh/README.md Normal file
View File

@ -0,0 +1,49 @@
# beego介绍
beego是一个类似tornado的Go应用框架采用了RESTFul的方式来实现应用框架是一个超轻量级的框架主要有如下的特点
- 支持MVC的方式用户只需要关注逻辑实现对应method的方法即可
- 支持websocket通过自定义Handler实现集成sockjs等方式实现
- 支持自定义路由支持各种方式的路由正则、语意均支持类似sinatra
- session集成支持memory、file、redis、mysql等存储
- 表单处理自动化解析,用户可以很方便的获取数据
- 日志分级系统,用户可以很方便的调试和应用日志记录
- 自定义配置文件支持ini格式的文本配置可以方便的在系统中调参数
- 采用了Go内置的模板集成实现了很多Web开发中常用的函数
执行过程如下所示:
![](images/beego.png)
# 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()
}
# beego 指南
* [为什么设计beego](Why.md)
* [安装入门](Install.md)
* [快速入门](Quickstart.md)
* [一步一步开发应用](Tutorial.md)
* [beego案例](Application.md)
# API接口
API对于我们平时开发应用非常有用用于查询一些开发的函数godoc做的非常好了
[godoc](http://godoc.org/github.com/astaxie/beego)

0
docs/zh/Tutorial.md Normal file
View File

17
docs/zh/Why.md Normal file
View File

@ -0,0 +1,17 @@
# 为什么设计beego和设计的思路
很多人会问为什么有那么多框架了还要去实现一个框架呢是不是大家都有自己实现框架的情节我可以肯定的说不是我说一下为什么设计beego的初衷
还记得当初写书的时候我纯粹只是想把自己在学习Go语言中的一些体会写出来由于我以前主要从事PHP和python的Web开发所以想写一本Go如何来做Web实战的经验刚开始的时候书的目录里面根本就没有框架实现这些章节是写到后来发现其实对于Web开发者来说一个微型的框架是非常有利于大家学习一个语言和快速进行应用开发的。
我以前经常用PHP的CI框架和python的tornado框架这些框架都是非常轻量级的轻量级就有利于我们
- 第一节约我开发中一些常见问题的处理,用户只需要关注逻辑层面的东西
- 第二轻量级以至于他们的代码也是非常清晰的,我们可以通过阅读他们的源码来学习和体会这么难语言的一些细节
- 第三对于项目开发者来说可以基于这些框架进行改造以适应自己的项目,从而实现二次框架的创造
所以基于上面这些的考虑我就想实现一个类似这些语言的轻量级框架所以我就在书的最后设计了两个章节来介绍和实现beego框架这就是当初写beego框架的初衷。
有了这个初衷之后我就开始设计beego的执行逻辑由于Go语言和python的思路比较接近所以我就参考了tornado的思路来设计beego你可以看到beego的RESTful处理完全和tornado的处理是一模一样的通过controller层的Get、Post等方法来实现RESTFul。刚开始的时候路由参考的是[https://github.com/drone/routes](https://github.com/drone/routes)这个的正则处理我觉得非常好弥补了Go语言默认Mux中的路由功能但是由于要采用RESTFul方式所以我自己设计了一个接口实现python中的继承思想。
整个的MVC逻辑中C是最重要的部分这一块采用了我上面说的接口方式M模块目前我还没想好怎么做但是大家可以参考我的另一个开源项目beedb来实现数据的管理V这一块目前采用了Go语言自带的模板引擎但是实现了很多方便的模板函数。这样一个简易的框架就完成了然后我就不断的完善周边的功能包括表单处理、session处理、日志处理、配置处理、自动化运行等功能。

BIN
docs/zh/images/bee.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
docs/zh/images/beego.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB