合并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实现WEB动态网页静态
Oct 09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
关于Appserv无法打开localhost问题的解决方法
Oct 16 PHP
深入解析php之sphinx
May 15 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
php字符串截取的简单方法
Jul 04 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
一个经典的PHP文件上传类分享
Nov 18 PHP
你应该知道PHP浮点数知识
May 13 PHP
Yii使用smsto短信接口的函数demo示例
Jul 13 PHP
PHP常用函数总结(180多个)
Dec 25 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
PHP实现MySQL更新记录的代码
2008/06/07 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
javascript多物体运动实现方法分析
2016/01/08 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
2017/05/11 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
微信小程序云开发之数据库操作
2019/05/18 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
countup.js实现数字动态叠加效果
2019/10/17 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
django中的HTML控件及参数传递方法
2018/03/20 Python
python实现狄克斯特拉算法
2019/01/17 Python
python实现大转盘抽奖效果
2019/01/22 Python
python快排算法详解
2019/03/04 Python
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
Html5实现移动端、PC端 刮刮卡效果
2016/06/30 HTML / CSS
Java servlet面试题
2012/03/04 面试题
化工专业推荐信范文
2013/11/28 职场文书
会计专业自荐信范文
2013/12/02 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
机关职员工作检讨书
2014/10/23 职场文书
处级干部考察材料
2014/12/24 职场文书
让世界充满爱观后感
2015/06/10 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
高二英语教学反思
2016/03/03 职场文书