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根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
PHP数组操作类实例
Jul 11 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
Sep 20 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
Dec 23 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
php无限极分类实现方法分析
Jul 04 PHP
php数组和链表的区别总结
Sep 20 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 include_path设置技巧分享
2011/07/03 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
PHP yii实现model添加默认值的方法(两种方法)
2016/11/10 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
JS 判断代码全收集
2009/04/28 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
2013/09/18 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
JavaScript实现DOM对象选择器
2016/09/24 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
Vue+Element-U实现分页显示效果
2020/11/15 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python实现单词翻译功能
2017/06/06 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
tensorflow tf.train.batch之数据批量读取方式
2020/01/20 Python
python关于变量名的基础知识点
2020/03/03 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Pythonic版二分查找实现过程原理解析
2020/08/11 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
怎样声明子类
2013/07/02 面试题
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
婚礼证婚人证婚词
2014/01/08 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
暑期实践个人总结
2015/03/06 职场文书
2015年老干部工作总结
2015/04/23 职场文书
主持人开场白台词
2015/05/29 职场文书
导游词之台湾阿里山
2019/10/23 职场文书