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 09 PHP
一个自定义位数的php多用户计数器代码
Mar 11 PHP
PHP 递归效率分析
Nov 24 PHP
PHP has encountered an Access Violation 错误的解决方法
Jan 17 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
Feb 02 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
关于PHP开发的9条建议
Jul 27 PHP
php技术实现加载字体并保存成图片
Jul 27 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
PHP如何实现跨域
May 30 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 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
oracle资料库函式库
2006/10/09 PHP
PHP连接SQLServer2005 的问题解决方法
2010/07/19 PHP
PHP中使用memcache存储session的三种配置方法
2014/04/05 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
jquery ajax abort()的使用方法
2010/10/28 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
Bootstrap图片轮播组件使用实例解析
2016/06/30 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
Jqprint实现页面打印
2017/01/06 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
JS实现li标签的删除
2019/04/12 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
Python中的迭代器漫谈
2015/02/03 Python
Python决策树之基于信息增益的特征选择示例
2018/06/25 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
python字典的值可以修改吗
2020/06/29 Python
浅谈Python 命令行参数argparse写入图片路径操作
2020/07/12 Python
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
实习生个人的自我评价
2013/12/08 职场文书
英语自荐信常用语句
2013/12/13 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
宣传普通话标语
2014/06/27 职场文书
单位接收证明格式
2015/06/18 职场文书
基层党建工作简报
2015/07/21 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL
mysql数据库实现设置字段长度
2022/06/10 MySQL