tp5.1和5.0的差别还是不小的,取消了很多东西,例如基本配置项就做了很大的改变。
5.1没有config.php配置文件,默认配置都在app.php配置文件,并且配置参数区分大小写,所有的配置文件在config目录下。和5.0最大的区别是,5.1版本的配置参数全部是二级配置,当没有指定一级配置名的时候,默认就是以app作为一级配置,一级配置名称通常来说就是所在的配置文件名。
├─config(应用配置目录)│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ ├─trace.php Trace配置
│ └─ ... 更多配置文件
│
├─route(路由目录)
│ ├─route.php 路由定义文件
│ └─ ... 更多路由定义文件
│
├─application (应用目录)
│ └─module (模块目录)
│ └─config(模块配置目录)│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ ├─trace.php Trace配置
│ └─ ... 更多配置文件
│
一旦模块目录下面存在config目录,则应用配置目录下的模块配置则无效,也不会对两个目录的配置进行合并。
具体配置项可以打开默认的配置文件进行查看,一目了然。
获取配置项
要使用Config类,首先需要在你的类文件中引入
use think\facade\Config;
或者(因为系统做了类库别名,其实就是调用think\facade\Config)
use Config;
然后就可以使用下面的方法读取某个配置参数的值:
echo Config::get('配置参数1');
var_dump(Config::get('app.app_debug'));
var_dump(config('template.taglib_begin'));
如果你需要读取某个一级配置的所有配置参数,可以使用
Config::pull('app');
或者使用
Config::get('app.');
读取所有的配置参数:
dump(Config::get());
判断是否存在某个设置参数:
Config::has('配置参数2');
使用助手函数可以更简单的获取到基础配置项,无需引入文件。系统定义了一个助手函数config,以上可以简化为:
echo config('配置参数1');
echo config('app.app_debug');
5.1的配置参数全部采用二级配置的方式(默认一级配置为app),所以当你使用config('name')的时候其实相当于使用:
config('app.name')
支持获取多级配置参数值,直接使用(必须从一级开始写)
config('app.name1.name2')
获取某个一级配置的所有参数可以使用
config('app.');
读取所有的配置参数:
dump(config());
或者你需要判断是否存在某个设置参数:
config('?配置参数2');