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生成静态页
Nov 25 PHP
PHP 递归效率分析
Nov 24 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
Jul 03 PHP
php常用ODBC函数集(详细)
Jun 24 PHP
PHP数据过滤的方法
Oct 30 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
Oct 15 PHP
PHP图片处理之图片背景、画布操作
Nov 19 PHP
php基于curl扩展制作跨平台的restfule 接口
May 11 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
实例讲解php实现多线程
Jan 27 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
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
2015/12/16 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
2016/07/21 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python处理PHP数组文本文件实例
2014/09/18 Python
Python StringIO模块实现在内存缓冲区中读写数据
2015/04/08 Python
Python numpy 常用函数总结
2017/12/07 Python
浅谈pandas用groupby后对层级索引levels的处理方法
2018/11/06 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
python制作抽奖程序代码详解
2021/01/15 Python
EJB的基本架构
2016/09/22 面试题
在校学生职业规划范文
2014/01/08 职场文书
十八大闭幕感言
2014/01/22 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
学校开学标语
2014/10/06 职场文书
教师师德表现自我评价
2015/03/05 职场文书
《哪吒之魔童降世》观后感:世上哪有随随便便的成功
2019/11/08 职场文书
python基础之类属性和实例属性
2021/10/24 Python