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中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
PHP运行环境配置与开发环境的配置(图文教程)
Jun 04 PHP
解决CodeIgniter伪静态失效
Jun 09 PHP
php计算两个日期时间差(返回年、月、日)
Jun 19 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
php导出中文内容excel文件类实例
Jul 06 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 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 - Html Transfer Code
2006/10/09 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
php中ob函数缓冲机制深入理解
2015/08/03 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
2017/05/20 PHP
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
jquery改变disabled的boolean状态的三种方法
2013/12/13 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
基于vue2.0实现简单轮播图
2017/11/27 Javascript
vue权限问题的完美解决方案
2019/05/08 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Flask-WTF表单的使用方法
2019/07/12 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
Django-imagekit的使用详解
2020/07/06 Python
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
建筑工程专业学生的自我评价
2013/12/25 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
大学生活自我评价
2014/04/09 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
仓库管理员岗位职责
2015/02/03 职场文书
幼儿园六一主持词
2015/06/30 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android