合并ThinkPHP配置文件以消除代码冗余的实现方法


Posted in PHP onJuly 22, 2014

很多时候我们在使用ThinkPHP配置网站前台和网站后台的数据库连接时,往往都是分别在前台的配置文件和后台的配置文件单独都写了配置的。但是有很多时候配置前台和后台的数据库可能是一样的配置,但是在二个文件中用的都是一样的配置,那么这时代码就产生了冗余。

网站前台好使用数据库,比方说用户的注册、用户的登录还有评论等,这些都需要我们在前台使用到数据库,既然使用了数据库那么就得连接数据库!网站后台那就更不用讲了,使用数据库无处不在。

大部分的网站前台和后台都是使用的一个数据库,也就是前台和后台连接数据库的配置信息都是一样的。但是,问题出现了。使用ThinkPHP的话,有些朋友可能就是在前台和后台的配置文件,也就是 Conf 文件夹的config.php文件里都写了连接数据库的配置信息。这时,代码的冗余就在所难免了。

这种情况下,如果更换了服务器配置,两个配置文件都需要重写,稍有疏漏就会造成重大损失。对此,消除冗余,合并配置文件就显得很有必要。具体措施如下:

在与网站前台和后台同一级目录下新建一个PHP文件,比方命名为:config.inc.php ,在这个文件中写数据库的配置信息。如下示例:

<?php
return array(
'DB_TYPE=>'mysql',
'DB_NAME'=>'demo',
'DB_HOST'=>'localhost',
'DB_USER'=>'root',
'DB_PWD'=>'123456',
'DB_PREFIX'=>'demo_'
);
?>

好了,分别在网站前台和后台的配置文件中这样来写:

<?php
$arr01 = array(
//前台或后台其他的配置信息
);
$arr02 = include './config.inc.php';
//组合这二个数组
return array_merge($arr01,$arr02);
?>

采用这个方法可以有效的解决代码冗余的问题。而且在更换数据库地址的时候只要修改config.inc.php这个配置文件即可。

PHP 相关文章推荐
PHP学习之字符串比较和查找
Apr 17 PHP
一个PHP针对数字的加密解密类
Mar 20 PHP
PHP二维数组排序的3种方法和自定义函数分享
Apr 09 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
php在数据库抽象层简单使用PDO的方法
Nov 03 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
提交表单后 PHP获取提交内容的实现方法
May 25 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
May 26 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
Feb 08 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
PHP工厂模式简单实现方法示例
May 23 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 #PHP
async和DOM Script文件加载比较
Jul 20 #PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 #PHP
php多任务程序实例解析
Jul 19 #PHP
php实现斐波那契数列的简单写法
Jul 19 #PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
Jul 19 #PHP
完善CodeIgniter在IDE中代码提示功能的方法
Jul 19 #PHP
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP学习笔记之二
2011/01/17 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP中的session安全吗?
2016/01/22 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
JavaScript编程中实现对象封装特性的实例讲解
2016/06/24 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
JavaScript数据结构中栈的应用之表达式求值问题详解
2017/04/11 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
详解创建自定义的Angular Schematics
2018/06/06 Javascript
使用NestJS开发Node.js应用的方法
2018/12/03 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
微信小程序按钮点击动画效果的实现
2019/09/04 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
[00:16]热血竞技场
2019/03/06 DOTA
web.py在模板中输出美元符号的方法
2014/08/26 Python
Django发送html邮件的方法
2015/05/26 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
2017/07/24 Python
python实现m3u8格式转换为mp4视频格式
2018/02/28 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
Python实现Restful API的例子
2019/08/31 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
2015年三好一满意工作总结
2015/07/24 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
使用canvas对video视频某一刻截图功能
2021/09/25 HTML / CSS