声明
你也许会问自己:
问题: 其它框架需要许多配置才能工作,Iris 为什么不同呢?
答:Iris 为你提供了四种使用它的方式:
- 全局iris;
- 使用默认配置声明一个新的 Iris: iris.New()
- 使用自定义配置声明一个新的 Iris: api := iris.New(iris.Configuration{...})
- 使用自定义配置声明一个新的 Iris:api := iris.New(iris.OptionCharset("UTF-8"), iris.OptionSessionsCookie("mycookie"), ...)
Iris 的配置是可选的,使用 $instance.Config.
, $instance.Set(Option...)
,$iris.New(config_or_options)
` 可对它进行配置:
import "github.com/kataras/iris"
// 1.
func firstWay() {
iris.Get("/home",func(ctx *iris.Context){})
iris.Listen(":8080")
}
// 2.
func secondWay() {
api := iris.New()
api.Get("/home",func(ctx *iris.Context){})
api.Listen(":8080")
}
// 3.
func thirdWay() {
config := iris.Configuration{IsDevelopment: true}
iris.New(config)
iris.Get("/home", func(c*iris.Context){})
iris.Listen(":8080")
}
// 4.
func forthWay() {
api := iris.New()
api.Set(iris.OptionCharset("UTF-8"))
api.Get("/home",func(ctx *iris.Context){})
api.Listen(":8080")
}
// after .New, at runtime, possible because Iris has default values. Configuration is TOTALLY OPTIONAL DSESIRE
func main() {
iris.Config.Websocket.Endpoind = "/ws"
//...
iris.Listen(":8080")
}
注意:在2,3, 4中,当需要时,您可以在同一个应用程序中服务多个Iris服务器。
.New
的配置 :
import "github.com/kataras/iris"
//...
myConfig := iris.Configuration{Charset: "UTF-8", IsDevelopment:true, Sessions: iris.SessionsConfiguration{Cookie:"mycookie"}, Websocket: iris.WebsocketConfiguration{Endpoint: "/my_endpoint"}}
iris.New(myConfig)
.New
的选项
import "github.com/kataras/iris"
//...
iris.New(iris.OptionCharset("UTF-8"), iris.OptionIsDevelopment(true),
iris.OptionSessionsCookie("mycookie"), iris.OptionWebsocketEndpoint("/my_endpoint"))
// if you want to set configuration after the .New use the .Set:
iris.Set(iris.OptionDisableBanner(true))