thinkPHP5.0框架独立配置与动态配置方法


Posted in PHP onMarch 17, 2017

本文实例讲述了thinkPHP5.0框架独立配置与动态配置方法。分享给大家供大家参考,具体如下:

独立配置文件:

新版支持配置文件分离,只需要配置extra_config_list参数(在应用公共配置文件中)。

例如,不使用独立配置文件的话,数据库配置信息应该是在config.php中配置如下:

/* 数据库设置 */
'database'       => [
  // 数据库类型
  'type'    => 'mysql',
  // 服务器地址
  'hostname'  => '127.0.0.1',
  // 数据库名
  'database'  => 'thinkphp',
  // 数据库用户名
  'username'  => 'root',
  // 数据库密码
  'password'  => '',
  // 数据库连接端口
  'hostport'  => '',
  // 数据库连接参数
  'params'   => [],
  // 数据库编码默认采用utf8
  'charset'   => 'utf8',
  // 数据库表前缀
  'prefix'   => '',
  // 数据库调试模式
  'debug'    => false,
],

如果需要使用独立配置文件的话,则首先在config.php中添加配置:

'extra_config_list'   => ['database'],

定义之后,数据库配置就可以独立使用database.php文件,配置内容如下:

/* 数据库设置 */
return [
  // 数据库类型
  'type'    => 'mysql',
  // 服务器地址
  'hostname'  => '127.0.0.1',
  // 数据库名
  'database'  => 'thinkphp',
  // 数据库用户名
  'username'  => 'root',
  // 数据库密码
  'password'  => '',
  // 数据库连接端口
  'hostport'  => '',
  // 数据库连接参数
  'params'   => [],
  // 数据库编码默认采用utf8
  'charset'   => 'utf8',
  // 数据库表前缀
  'prefix'   => '',
  // 数据库调试模式
  'debug'    => false,
],

如果配置了extra_config_list参数,并同时在config.php和database.php文件中都配置的话,则database.php文件的配置会覆盖config.php中的设置。

独立配置文件的参数获取都是二维配置方式,例如,要获取database独立配置文件的type参数,应该是:

Config::get('database.type');

要获取完整的独立配置文件的参数,则使用:

Config::get('database');

系统默认设置了2个独立配置文件,包括database和validate,分别用于设置数据库配置和验证规则定义。

动态配置:

设置配置参数

使用set方法动态设置参数,例如:

Config::set('配置参数','配置值');
// 或者使用助手函数
config('配置参数','配置值');

也可以批量设置,例如:

Config::set([
  '配置参数1'=>'配置值',
  '配置参数2'=>'配置值'
]);
// 或者使用助手函数
config([
  '配置参数1'=>'配置值',
  '配置参数2'=>'配置值'
]);

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php连接数据库代码应用分析
May 29 PHP
php数组(array)输出的三种形式详解
Jun 05 PHP
PHP数组与对象之间使用递归实现转换的方法
Jun 24 PHP
php去掉文件前几行的方法
Jul 29 PHP
php实现给一张图片加上水印效果
Jan 02 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
Nov 29 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
PHP多进程通信-消息队列使用
Mar 08 PHP
php和vue配合使用技巧和方法
May 09 PHP
PHP autoload使用方法及步骤详解
Sep 05 PHP
PHP中类的自动加载的方法
Mar 17 #PHP
thinkPHP5.0框架简单配置作用域的方法
Mar 17 #PHP
thinkPHP5.0框架环境变量配置方法
Mar 17 #PHP
php正则判断是否为合法身份证号的方法
Mar 16 #PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 #PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
Mar 16 #PHP
Yii1.1中通过Sql查询进行的分页操作方法
Mar 16 #PHP
You might like
浅谈电磁辐射对健康的影响
2021/03/01 无线电
用PHP 快速生成 Flash 动画的方法
2007/03/06 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
js继承的实现代码
2010/08/05 Javascript
jQuery实现伸展与合拢panel的方法
2015/04/30 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
jQuery+ajax的资源回收处理机制分析
2017/01/07 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
[44:30]完美世界DOTA2联赛PWL S2 GXR vs Magma 第一场 11.25
2020/11/26 DOTA
python在不同层级目录import模块的方法
2016/01/31 Python
Python3实现的字典、列表和json对象互转功能示例
2018/05/22 Python
python实现视频分帧效果
2019/05/31 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
python实现连连看游戏
2020/02/14 Python
在pycharm中实现删除bookmark
2020/02/14 Python
python爬取微博评论的实例讲解
2021/01/15 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
美国学校校服,儿童和婴儿服装:Cookie’s Kids
2016/10/14 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
将一个数的从第5位开始的7个数取出,其余位置0
2016/05/26 面试题
武汉高蓝德国际.net机试
2016/06/24 面试题
介绍一下javax.servlet.Servlet接口及其主要方法
2015/11/30 面试题
最新大学职业规划书范文
2013/12/30 职场文书
金融行业职业生涯规划范文
2014/01/17 职场文书
个人德育工作总结
2015/03/05 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
职场:企业印章管理制度(模板)
2019/10/18 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript