合并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 相关文章推荐
使用Xdebug调试和优化PHP程序之[1]
Apr 17 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
一个简单且很好用的php分页类
Oct 26 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
Nov 25 PHP
PHP中浮点数计算比较及取整不准确的解决方法
Jan 09 PHP
PHP信号量基本用法实例详解
Feb 12 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
PHP实现websocket通信的方法示例
Aug 28 PHP
php实现微信公众号创建自定义菜单功能的实例代码
Jun 11 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
php解析url的三个示例
2014/01/20 PHP
php实现utf-8转unicode函数分享
2015/01/06 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
PHP中利用sleep函数实现定时执行功能实现代码
2016/08/25 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
jquery操作 iframe的方法
2014/12/03 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python内置函数的用法实例教程
2014/09/08 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python2 与python3的print区别小结
2018/01/16 Python
Python学生信息管理系统修改版
2018/03/13 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
浅谈django2.0 ForeignKey参数的变化
2019/08/06 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
在校生党员自我评价
2013/09/25 职场文书
函授本科毕业生自我鉴定
2013/10/16 职场文书
计算机应用专业学生的自我评价分享
2013/11/03 职场文书
体育学院毕业生自荐信
2013/11/03 职场文书
大学生毕业自我评价范文分享
2013/11/11 职场文书
网站创业计划书
2014/04/30 职场文书
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers