golang框架beego 类似PHP 构造函数 __construct 的方法

用到了这个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了  然后可以做很多的事情 比如验证是否登录 以及验证请求的数据是否合法等操作

上一篇:golang web实战(beego,mvc)


下一篇:redis和memcached区别总结