beego学习笔记(1)】的更多相关文章

日志处理 这是一个用来处理日志的库,它的设计思路来自于database/sql,目前支持的引擎有file.console.net.smtp,可以通过如下方式进行安装: go get github.com/astaxie/beego/logs 如何使用 首先引入包: import ( "github.com/astaxie/beego/logs" ) 然后初始化log变量(10000表示缓存的大小): log := NewLogger(10000) 然后添加输出引擎(log支持同时输出到…
配置文件解析 这是一个用来解析文件的库,它的设计思路来自于database/sql,目前支持解析的文件格式有ini.json.xml.yaml,可以通过如下方式进行安装: go get github.com/astaxie/beego/config 如何使用 首先初始化一个解析器对象 iniconf, err := NewConfig("ini", "testini.conf") if err != nil { t.Fatal(err) } 然后通过对象获取数据 i…
beego简介 beego是一个快速开发Go应用的http框架,他可以用来快速开发API.Web.后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado.sinatra.flask这三个框架,但是结合了Go本身的一些特性(interface.struct继承等)而设计的一个框架. beego的架构 beego的整体设计架构如下所示: beego是基于八大独立的模块之上构建的,是一个高度解耦的框架.当初设计beego的时候就是考虑功能模块化,用户即使不适用beego的ht…
Beego学习笔记 Go 路由(Controller) 路由就是根据用户的请求找到需要执行的函数或者controller. Get /v1/shop/nike ShopController Get Delete /v1/shop/nike ShopController Delete Get /v1/notallowed notallowed function beego路由类型 1:函数级别的注册RESTFul的方式注册 2:controller级别的注册自动化映射 3:更自由化的handler…
页面布局 1>     一个html页面由:head部分,body部分,内部css,内部js,外联css,外联的js这几部分组成.因此,一个布局文件也就需要针对这些进行拆分. 2>     新建一个layout.go的控制器.编写一个引用布局文件的实例.具体代码如下: package controllers import ( "github.com/astaxie/beego" ) type LayoutController struct { beego.Controlle…
Session控制 1>     Session常用来作为全局变量使用,比如记录当前登录的用户,或者页面之间传递数据使用. 2>     Beego框架内置了 session 模块,目前 session 模块支持的后端引擎包括 memory.cookie.file.mysql.redis.couchbase.memcache.postgres,用户也可以根据相应的 interface 实现自己的引擎.若是使用标红的部分,需要再下载对应的session包. 3>     在main.go代…
beego的响应流程: 1.监听的端口接收数据,默认是8080端口. 2.用户请求到达8080端口后,开始数据处理流程. 3.初始化CONTEXT对象.判断是否是WEBSOCKET请求,如果是,设置INPUT.同时,判断请求的方法,是否是标准方法(GET.POST.PUT.DELETE.PATCH.OPTIONS.HEAD),以免被恶意访问. 4.执行beforerouter过滤器.当然,在beego里有开关设置,如果使用该过滤器,则必须打开这个开关.如果在执行过滤器的过程中,responseW…
controller的逻辑: 我们看下面的代码,就知道怎么传值的: import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (this *MainController) Get() { this.Data["Website"] = "beego.me" this.Data["Email"] = &quo…
beego.Run() 这个运行后, 1)解析配置文件,也就是conf目录下的. 2)判断是否开启session,并作相应的工作 3)执行用户的hookfunc. 4)是否编译模板 5)是否开启文档功能 6)是否启动管理模块 7)监听服务端口…
通过运行 bee new quickstart 来创建新的项目,其结构如下: quickstart |-- conf | `-- app.conf |-- controllers | `-- default.go |-- main.go |-- models |-- routers | `-- router.go |-- static | |-- css | |-- img | `-- js |-- tests | `-- default_test.go `-- views `-- index.…