用到了这个Prepare()函数。
这个函数主要是为了用户扩展用的,这个函数会在下面定义的这些 Method 方法之前执行,可以重写这个函数实现类似用户验证之类。
下面是个全局的小demo
全局公共引用的控制器
package controllers
import (
"fmt"
"github.com/astaxie/beego"
)
type BaseController struct {
beego.Controller
}
func (c *BaseController) Prepare() {
fmt.Println("我是一个测试!")
}
其它制引用此base控制器
package controllers
type MainController struct {
BaseController
}
//func (c *MainController) Prepare() {
// fmt.Println("我是一个测试!")
//}
func (c *MainController) Get() {
c.Data["Website"] = "beego.me"
c.Data["Email"] = "astaxie@gmail.com111111"
c.TplName = "index.tpl"
}
不用每个控制器去在去继承 beego.Controller了 然后可以做很多的事情 比如验证是否登录 以及验证请求的数据是否合法等操作