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中使用PDF文档功能
Oct 09 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
php以post形式发送xml的方法
Nov 04 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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 CURL模拟GET及POST函数代码
2010/04/25 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
curl和libcurl的区别简介
2015/07/01 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
html中的input标签的checked属性jquery判断代码
2012/09/19 Javascript
jQuery+HTML5实现手机摇一摇换衣特效
2015/06/05 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
JavaScript字符串常用的方法
2016/03/10 Javascript
基于javascript实现最简单的选项卡切换效果
2016/05/16 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
jQuery复制节点用法示例(clone方法)
2016/09/08 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
2016/10/25 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
node.js的事件机制
2017/02/08 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
angularJs select绑定的model取不到值的解决方法
2018/10/08 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
ES6实现图片切换特效代码
2020/01/14 Javascript
vuex实现购物车的增加减少移除
2020/06/28 Javascript
JavaScript常用工具函数汇总(浏览器环境)
2020/09/17 Javascript
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
python实现数独算法实例
2015/06/09 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python实现图片拼接的代码
2018/07/02 Python
Python延时操作实现方法示例
2018/08/14 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
贷款担保书范文
2014/05/13 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
公司会议开幕词
2016/03/03 职场文书