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实现定时生成HTML网站首页实例代码
Nov 20 PHP
PHP运行模式的深入理解
Jun 03 PHP
如何在PHP中使用正则表达式进行查找替换
Jun 13 PHP
解析php中array_merge与array+array的区别
Jun 21 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
php启用sphinx全文搜索的实现方法
Dec 24 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
php实现URL加密解密的方法
Nov 17 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
php file_get_contents取文件中数组元素的方法
Apr 01 PHP
PHP封装的非对称加密RSA算法示例
May 28 PHP
php 后端实现JWT认证方法示例
Sep 04 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批量生成缩略图的代码
2008/07/19 PHP
PHP5中实现多态的两种方法实例分享
2014/04/21 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
PHP中使用curl入门教程
2015/07/02 PHP
PHP截取发动短信内容的方法
2017/07/04 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
分享20款好玩的jQuery游戏
2011/04/17 Javascript
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
微信小程序日历组件使用方法详解
2018/12/29 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
JS检索下拉列表框中被选项目的索引号(selectedIndex)
2019/12/17 Javascript
[06:20]2015国际邀请赛第三日top10
2015/08/08 DOTA
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
2015/04/28 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
python实现飞机大战
2018/09/11 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
工程造价管理专业大专生求职信
2013/10/06 职场文书
公司同意接收函
2014/01/13 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
文明倡议书范文
2014/04/15 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
三八节活动简报
2015/07/20 职场文书
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python