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 mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
php数组去重的函数代码
Feb 03 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
php的dl函数用法实例
Nov 06 PHP
PHP PDOStatement对象bindpram()、bindvalue()和bindcolumn之间的区别
Nov 20 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 PHP
php构造函数与析构函数
Apr 23 PHP
PHP 断点续传实例详解
Nov 11 PHP
php png失真的原因及解决办法
Oct 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
一个用于网络的工具函数库
2006/10/09 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
php 5.6版本中编写一个PHP扩展的简单示例
2015/01/20 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
微信小程序之ES6与事项助手的功能实现
2016/11/30 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
H5实现仿flash效果的实现代码
2017/09/29 Javascript
JS判断数组那点事
2017/10/10 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python基于动态规划算法计算单词距离
2015/07/25 Python
python数据结构之列表和元组的详解
2017/09/23 Python
python中logging包的使用总结
2018/02/28 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
忠诚教育心得体会
2014/09/03 职场文书
2014年全国爱牙日宣传活动方案
2014/09/21 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
django上传文件的三种方式
2021/04/29 Python
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python
Oracle删除归档日志及添加定时任务
2022/06/28 Oracle