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 set_time_limit(0)长连接的实现分析
Mar 02 PHP
php的memcached客户端memcached
Jun 14 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
Window下PHP三种运行方式图文详解
Jun 11 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 PHP
php中filter_input函数用法分析
Nov 15 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
php批量删除操作(数据访问)
May 23 PHP
PHP调用接口API封装的例子
Oct 11 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 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 mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
在IE下获取object(ActiveX)的Param的代码
2009/09/15 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
vuejs前后端数据交互之从后端请求数据的实例
2018/08/11 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
python交互式图形编程实例(一)
2017/11/17 Python
Python Socket使用实例
2017/12/18 Python
Python rstrip()方法实例详解
2018/11/11 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
Python 如何批量更新已安装的库
2020/05/26 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
联想德国官网:Lenovo Germany
2018/07/04 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
村优秀党员事迹材料
2014/01/15 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
抵押贷款承诺书
2014/05/30 职场文书
新品发布会策划方案
2014/06/08 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
喜迎建国70周年:有关爱国的名言名句
2019/09/24 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
Win11怎么修改电源模式?Win11修改电源模式的方法
2022/04/05 数码科技