前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ThinkPHP5配置Config

ThinkPHP5配置Config

作者头像
php007
发布2019-08-05 15:04:01
1.6K0
发布2019-08-05 15:04:01
举报
文章被收录于专栏:PHP专享栏PHP专享栏

配置文件Config

Config文件包含:2个属性,7个方法。其中2个属性为私有静态属性,外部不可访问。7个方法为公有静态方法,外部可以直接用类名访问,不需要实例化。

配置文件Config目录

三类配置目录:默认配置目录,自定义配置目录,扩展配置目录。无论采用哪一种配置目录,最终都会于应用配置文件合并输出。系统application下的config.php与框架thinkphp下的convention.php这两个文件为默认文件,通常建议不要修改。

1.默认配置目录

应用配置:application目录

模块配置:application/模块目录

2.自定义配置目录

入口文件中添加:CONF_PATH常量

按常量约定创建对应配置目录

3.扩展配置目录

在application/模块目录中创建extra目录

文件名->配置名,内容->配置名

配置文件Config格式

四种配置文件格式:数组,ini,xml,json。其中数组较为常用,无论哪一种格式配置文件,最终都是以Array数组键值对的方式返回。

场景配置

场景配置,可以看到文件级的动态配置,它为框架的使用者,提供了一种在特殊的环境下,简便的解决方案。

1.修改应用或模块配置文件中的:‘app_status’,将值设置为,如:home;
2.在与该配置文件同级的目录下,创建与场景名称同名的配置文件,如home.php;
3.再次执行,将会自动根据场景配置文件(home.php),更新当前应用的配置文件。
模块配置

为降低应用的复杂度,提供安全性,绝大多数情况下,模块配置用得并不多,但如果你有个性化需求时,使用模块设置会方便很多。

1.模块可以有自己的配置文件,独立配置文件和场景配置文件;
2.模块配置的优先级高于应用配置,相同配置项会覆盖掉应用汇总的配置项;
3.模块默认配置文件名是:config.php;
4.模块默认独立配置文件有二个:database.php,validate.php;
5.模块场景配置文件名,根据‘app_status’参数值确定。

其它位置的配置文件

加载任意位置,非php格式的配置文件,不仅提高了灵活性,还为其它应用提供了一个配置接口。

1.如果配置文件是php文件

\think\Config::load(APP_PATH.'完整文件名'); //使用绝对路径加载,默认返回数组

2.如果配置文件是其它格式:ini,xml,json等

\think\Config::parre(APP_PATH.'完整文件名'.'ini'); //使用绝对路径加载,默认返回数组

注意:读取其它位置的配置文件,都是动态加载,需要在控制器中的方法中执行加载。

读取配置项

一.读取配置项

1.类方法:Config::get('配置参数'),参数为空则是获取全部配置项;
2.使用助手函数:config('配置参数'),参数说明与Config::get()玩完一样;
3.读取二级配置项,参数与值之间用.(点)进行连接。

二.判断某配置项是否存在

1.类方法:Config::has('配置参数');//返回布尔值;
2.助手函数:config('?配置参数');//返回布尔值。

设置配置项

在控制器的方法中,动态设置配置项,可以临时改变某个配置项,优先级也是最高

一.类方法:\think\Config.php

1.逐个配置:Config::set('配置参数',参数值);
2.批量配置:Config::set('数组');
3.二级配置:Config::set('配置参数','数组')。

二.助手函数:config()

1.逐个配置:config('配置参数','参数值');
2.批量配置:config('数组');
3.二级配置:config('配置参数','数组')。

创建独立配置文件

将应用模块中的部分可归类的配置独立出来,单独创建配置文件来加载,可以使我们的祝配置文件加载更快,执行效率更高。

1.用户自定义的独立配置文件必须放在应用或模块下面的extra目录下面;
2.默认独立配置文件dtabase.php[数据库],validate.php[验证规则]既可以放在extra下面,也可以放在与应用或模块同级的目录下面。如果放在extra目录下面,优先级大于放在应用或模块的同级目录下面;
3.文件名就是配置项名称,文件返回一个数组。

模块配置优先级

框架配置分级管理,可以最大限度的满足用户对应用运行环境的个性化需求,配置优先级的概念非常重要。

惯例配置(convention.php,config.php) < 应用配置(应用配置 < 独立配置 < 场景配置) < 模块配置(应用配置 < 独立配置 < 场景配置) < 动态配置(set)

配置项的作用域

配置项的作用域,类似于类或函数的命名空间,就是配置项对用户的可见性,随着应用规模的扩大,配置作用域的效果就越明显。

1.作用域与命名空间的概念类似,就是配置项的可见范围;
2.作用域的在表现形式上与二维数组是一样的;
3.切换作用域使用:Config::range('作用域');
4.可以将独立配置项归纳到作用域进行管理,也可以动态设置。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 风帆 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 配置文件Config
  • 配置文件Config目录
  • 配置文件Config格式
  • 读取配置项
  • 设置配置项
  • 创建独立配置文件
  • 模块配置优先级
  • 配置项的作用域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档