package controllers import ( "time" "github.com/kataras/iris/_examples/tutorial/mvc-from-scratch/persistence" ) // User is our user example controller. type User struct { Controller // All fields that are tagged with iris:"persistence"` // are being persistence and kept between the different requests, // meaning that these data will not be reset-ed on each new request, // they will be the same for all requests. CreatedAt time.Time `iris:"persistence"` Title string `iris:"persistence"` DB *persistence.Database `iris:"persistence"` } func NewUserController(db *persistence.Database) *User { return &User{ CreatedAt: time.Now(), Title: "User page", DB: db, } } // Get serves using the User controller when HTTP Method is "GET". func (c *User) Get() { c.Tmpl = "user/index.html" c.Data["title"] = c.Title c.Data["username"] = "kataras " + c.Params.Get("userid") c.Data["connstring"] = c.DB.Connstring c.Data["uptime"] = time.Now().Sub(c.CreatedAt).Seconds() } /* Can use more than one, the factory will make sure that the correct http methods are being registered for this controller, uncommend these if you want: func (c *User) Post() {} func (c *User) Put() {} func (c *User) Delete() {} func (c *User) Connect() {} func (c *User) Head() {} func (c *User) Patch() {} func (c *User) Options() {} func (c *User) Trace() {} */ /* func (c *User) All() {} // OR func (c *User) Any() {} */