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 上传文件大小限制
Jul 05 PHP
php Xdebug 调试扩展的安装与使用.
Mar 13 PHP
php递归实现无限分类生成下拉列表的函数
Aug 08 PHP
MySQL连接数超过限制的解决方法
Jul 17 PHP
七款最流行的PHP本地服务器分享
Feb 19 PHP
php权重计算方法代码分享
Jan 09 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
PHP 多任务秒级定时器的实现方法
May 13 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
PHP实现的AES 128位加密算法示例
Sep 16 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 at(@)符号的用法简介
2009/07/11 PHP
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
通过length属性判断jquery对象是否存在
2013/10/18 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
Java遍历集合方法分析(实现原理、算法性能、适用场合)
2016/04/25 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
canvas时钟效果
2017/02/16 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
浅谈Webpack核心模块tapable解析
2018/09/11 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
python 的topk算法实例
2020/04/02 Python
在加拿大在线租赁和购买电子游戏:Game Access
2019/09/02 全球购物
单位消防安全制度
2014/01/12 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
亲子活动总结
2014/04/26 职场文书
煤矿安全承诺书
2014/05/22 职场文书
感谢信模板大全
2015/01/23 职场文书
大学生求职自荐信
2015/03/24 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
MySQL时间设置注意事项的深入总结
2021/05/06 MySQL