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中函数内引用全局变量的方法
Oct 20 PHP
一些php技巧与注意事项分析
Feb 03 PHP
定义php常量的详解
Jun 09 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php简单实现快速排序的方法
Apr 04 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
php利用smtp类实现电子邮件发送
Oct 30 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
Jun 09 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
详细分析PHP7与PHP5区别
Jun 26 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
PHP实现批量上传单个文件
2015/12/29 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
PHP代码重构方法漫谈
2018/04/17 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
JS中 用户登录系统的解决办法
2013/04/15 Javascript
深入理解JavaScript系列(29):设计模式之装饰者模式详解
2015/03/03 Javascript
详解JavaScript表单验证(E-mail 验证)
2016/03/31 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
Element UI 自定义正则表达式验证方法
2018/09/04 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
AJAX在JQuery中的应用详解
2019/01/30 jQuery
一些可能会用到的Node.js面试题
2019/06/15 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
python操作redis的方法
2015/07/07 Python
numpy中索引和切片详解
2017/12/15 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
python操作redis方法总结
2018/06/06 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
Python pandas自定义函数的使用方法示例
2019/11/20 Python
python将图片转base64,实现前端显示
2020/01/09 Python
python 发送get请求接口详解
2020/11/17 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
测绘工程系学生的自我评价
2013/11/30 职场文书
企业门卫岗位职责
2013/12/12 职场文书
秦兵马俑教学反思
2014/02/07 职场文书
请假条的格式
2014/04/11 职场文书
八项规定整改方案
2014/10/01 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
node快速搭建后台的实现步骤
2022/02/18 NodeJs