Skip to content

Commit d367d51

Browse files
committed
fix
1 parent 71b836b commit d367d51

File tree

1 file changed

+13
-27
lines changed

1 file changed

+13
-27
lines changed

README.md

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Tiny Go Web (TGW)是一个非常简单的Web框架,甚至谈不上框架。TGW无意取代任何框架,TGW的诞生是因为作者在使用beego时有种挫败感,决定自己重新写一个适合自己网站用的,从构思到完成总共只花了一天的时间,因为觉得它已经够用了,就没有继续添加新的功能。
55

6-
## 运行示例
6+
## Qiuck Start
77

88
```
99
> go get github.com/icattlecoder/tgw
@@ -15,24 +15,6 @@ Tiny Go Web (TGW)是一个非常简单的Web框架,甚至谈不上框架。TGW
1515
![img](http://icattlecoder.qiniudn.com/tgw.png)
1616

1717

18-
TGW使用非常简单,没有固定的目录结构,不过遵循大众习惯,建议组织以下结构:
19-
20-
```
21-
│── controllers
22-
│   ├── default.go
23-
├── main.go
24-
├── models
25-
│   └── Author.go
26-
├── static
27-
│   ├── css
28-
│   ├── img
29-
│   └── js
30-
└──── view
31-
   ├── include
32-
   │   └── nav.html
33-
   └── index.html
34-
```
35-
3618
## 控制器
3719

3820
控制器实现自动路由注册,例如有以下的结构
@@ -73,7 +55,6 @@ func (s *Server) Json() (data map[string]interface{}) {
7355
return
7456
}
7557

76-
7758
//这里根据请求自动解析出args
7859
//例如可将 /hello?msg=hello world的函数解析为TestArgs{Msg:"hello world"}
7960
//由于没有hello.html模板,并且没有返回值,可以通过env中的RW成员写入返回数据
@@ -85,6 +66,8 @@ func (s *Server) Hello(args TestArgs, env tgw.ReqEnv) {
8566
log.Println(err)
8667
}
8768
}
69+
70+
func (s *Server) AdminIndex(){}
8871
```
8972

9073
以下是程序启动代码
@@ -99,17 +82,17 @@ func main() {
9982
tgw的Register方法会自动注册以下的路由:
10083

10184
```
102-
/hello ===> Hello
103-
/index ===> Index
104-
/Json ===> Json
105-
/admin/index ===> AdminIndex
85+
/hello ===> func (s *Server) Hello(args TestArgs, env tgw.ReqEnv)
86+
/index ===> func (s *Server) Index() (data map[string]interface{})
87+
/Json ===> func (s *Server) Json() (data map[string]interface{})
88+
/admin/index ===> func (s *Server) AdminIndex()
10689
```
10790

10891
`localhost:8080/index`的处理函数是`service.Index`,`localhost:8080/admin/index`的处理函数是`service.AdminIndex`
10992

11093
## 视图
11194

112-
视图默认放在view文件夹中,其文件名与url有关,例如:`/hello`对应 `view/index.html`
95+
视图默认放在view文件夹中,其文件名与url有关,例如:`/index`对应 `view/index.html`
11396
如果某个url没有对应的视图,但是它的处理函数却有返回值,那么将返回对象JOSN序列化的结果。
11497
视图中可以通过`<include src="<src>" />`指令包含其它文件,如公共区域
11598

@@ -125,10 +108,13 @@ func (s *Server) Hello(args TestArgs, env tgw.ReqEnv)
125108
对于请求`localhost:8080/Hello?msg=Hello world`,tgw将自动根据语法方法识别并解析出TestArgs变量.
126109
当前能够自动解析的类型有`int``string``bool``float64`
127110

111+
### 扩展参数解析
112+
tgw自带`*Args`参数解析,即结构名符合`*Args`的参数都可以自动解析。如果需要定制解析,实现Parse接口即可
113+
128114
## Session支持
129115

130-
框架实现了一个简单的基于内存的session管理,如果需要使用session,处理函数必须有一个类型为tgw.ReqEnv的参数,通过此函数可访问Session。
116+
框架实现了一个简单的session管理,如果需要使用session,处理函数必须有一个类型为tgw.ReqEnv的参数,通过此函数可访问Session。
131117

132118
## 自定义
133119

134-
如果函数包含类型为tgw.ReqEnv函数,且无返回值,可以直接向ReqEnv.RW中写入返回结果
120+
如果函数包含类型为tgw.ReqEnv参数,且无返回值,可以直接向ReqEnv.RW中写入返回结果

0 commit comments

Comments
 (0)