Config文件包含:2个属性,7个方法。其中2个属性为私有静态属性,外部不可访问。7个方法为公有静态方法,外部可以直接用类名访问,不需要实例化。
三类配置目录:默认配置目录,自定义配置目录,扩展配置目录。无论采用哪一种配置目录,最终都会于应用配置文件合并输出。系统application下的config.php与框架thinkphp下的convention.php这两个文件为默认文件,通常建议不要修改。
应用配置:application目录
模块配置:application/模块目录
入口文件中添加:CONF_PATH常量
按常量约定创建对应配置目录
在application/模块目录中创建extra目录
文件名->配置名,内容->配置名
四种配置文件格式:数组,ini,xml,json。其中数组较为常用,无论哪一种格式配置文件,最终都是以Array数组键值对的方式返回。
场景配置,可以看到文件级的动态配置,它为框架的使用者,提供了一种在特殊的环境下,简便的解决方案。
为降低应用的复杂度,提供安全性,绝大多数情况下,模块配置用得并不多,但如果你有个性化需求时,使用模块设置会方便很多。
其它位置的配置文件
加载任意位置,非php格式的配置文件,不仅提高了灵活性,还为其它应用提供了一个配置接口。
1.如果配置文件是php文件
\think\Config::load(APP_PATH.'完整文件名'); //使用绝对路径加载,默认返回数组
2.如果配置文件是其它格式:ini,xml,json等
\think\Config::parre(APP_PATH.'完整文件名'.'ini'); //使用绝对路径加载,默认返回数组
注意:读取其它位置的配置文件,都是动态加载,需要在控制器中的方法中执行加载。
一.读取配置项
二.判断某配置项是否存在
在控制器的方法中,动态设置配置项,可以临时改变某个配置项,优先级也是最高
一.类方法:\think\Config.php
二.助手函数:config()
将应用模块中的部分可归类的配置独立出来,单独创建配置文件来加载,可以使我们的祝配置文件加载更快,执行效率更高。
框架配置分级管理,可以最大限度的满足用户对应用运行环境的个性化需求,配置优先级的概念非常重要。
惯例配置(convention.php,config.php) < 应用配置(应用配置 < 独立配置 < 场景配置) < 模块配置(应用配置 < 独立配置 < 场景配置) < 动态配置(set)
配置项的作用域,类似于类或函数的命名空间,就是配置项对用户的可见性,随着应用规模的扩大,配置作用域的效果就越明显。