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 中执行排序与 MySQL 中排序
Apr 21 PHP
PHP中使用unset销毁变量并内存释放问题
Jul 05 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
php cli换行示例
Apr 22 PHP
PHP中copy on write写时复制机制介绍
May 13 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
Jan 07 PHP
PHP实现文件上传与下载实例与总结
Mar 13 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
一次因composer错误使用引发的问题与解决
Mar 06 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 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基础知识介绍
2013/09/17 PHP
php获取客户端IP及URL的方法示例
2017/02/03 PHP
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
Javascript !!的作用
2008/12/04 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
自定义右键属性覆盖浏览器默认右键行为实现代码
2013/02/02 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
js改变html的原有内容实现方法
2016/10/05 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
vue项目中应用ueditor自定义上传按钮功能
2018/04/27 Javascript
Vue中rem与postcss-pxtorem的应用详解
2019/11/20 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
ES6 十大特性简介
2020/12/09 Javascript
[43:53]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.22
2019/09/05 DOTA
详解python上传文件和字符到PHP服务器
2017/11/24 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
Python3如何判断三角形的类型
2020/04/12 Python
python爬虫基础知识点整理
2020/06/02 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
单位委托书范本
2014/04/04 职场文书
英语求职信范文
2014/05/23 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
党性分析自查总结
2014/10/14 职场文书
第一书记观后感
2015/06/08 职场文书
如何在Python中创建二叉树
2021/03/30 Python