PhalGo-Viper获取配置
#PhalGo-Viper获取配置 viper项目地址:https://github.com/spf13/viper ##什么是viper viper是国外大神spf13编写的开源配置解决方案,viper拥有一下功能以及特性如下:
##为什么用viper viper不用担心你的文件格式,可以获取环境变量,也可以从远端获取配置文件,并且还有缓冲机制,功能非常棒非常牛逼,能满足不同的对配置文件的使用的要求,所以PhalGo采用viper来解决配置问题 ##初始化Config PhalGo追求最简单的使用各个组件所以viper我们只需要初始化就可以开始使用,我们只需要调用NewConfig函数需要你传入两个参数,一个是你文件相对于项目目录的相对路径,比如我在项目目录下建立的/conf文件目录就需要填写conf,第二个就是配置文件文件名,只需要名称即可,可以不用输入后缀viper会自动识别. //初始化配置文件 phalgo.NewConfig("conf","sys") 比如我们创建了一个sys.toml文件内容如下: 强烈推荐使用toml格式,toml格式介绍:http://mlworks.cn/posts/introduction-to-toml/ [system] port = ":1234" [dbDefault] dbHost = "localhost" #数据库连接地址 dbName = "phalgo" #数据库名称 dbUser = "root" #数据库用户名 dbPasswd = "" #数据库密码 dbPort = "3306" #数据库端口号 dbOpenconns_max = 20 #最大连接数 dbIdleconns_max = 0 #最大空闲连接 dbType = "mysql" #数据库类型 我们就可以简单的使用 phalgo.Config.GetString("system.port") #返回一个string类型的":1234" phalgo.Config和**"github.com/spf13/viper"**是等价的,所以可以通过phalgo.Config来调用viper提供的方法 ##Config详解 ###设置默认值 phalgo.Config.SetDefault("ContentDir","content") phalgo.Config.SetDefault("LayoutDir","layouts") phalgo.Config.SetDefault("Taxonomies",map[string]string{"tag": "tags","category": "categories"}) ###获取不同类型配置
###获取多级参数 viper支持获取配置的层级关系,在每个key之间通过"."分割机制,比如上面演示的 phalgo.Config.GetString("system.port") 就是获取的二级参数 ##更多 viper提供很多有意思的功能,可以通过开篇viper项目地址进行了解 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |