合并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自定义函数收代码
Aug 01 PHP
url decode problem 解决方法
Dec 26 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 PHP
PHP中Header使用的HTTP协议及常用方法小结
Nov 04 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
Jun 12 PHP
Laravel5中Cookie的使用详解
May 03 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 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
Zend的MVC机制使用分析(一)
2013/05/02 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
javascript调试说明
2010/06/07 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
2014/01/24 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
JS实现选择TextArea内文本的方法
2015/08/03 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
jquery ajaxfileupload异步上传插件
2017/11/21 jQuery
VueRouter导航守卫用法详解
2017/12/25 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
JavaScript中window和document用法详解
2020/07/28 Javascript
[02:52]DOTA2新手基础教程 米波
2014/01/21 DOTA
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
详解K-means算法在Python中的实现
2017/12/05 Python
Python调用Redis的示例代码
2020/11/24 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
英国最大的天然和有机产品在线零售商之一:Big Green Smile
2020/05/06 全球购物
自考毕业自我鉴定范文
2013/10/27 职场文书
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
班组长岗位职责
2014/03/03 职场文书
乡镇领导干部个人对照检查材料思想汇报
2014/09/23 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL