合并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 中dirname(_file_)讲解
Mar 18 PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
Feb 02 PHP
php实现统计网站在线人数的方法
May 12 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
Jun 09 PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 PHP
关于laravel 日志写入失败问题汇总
Oct 17 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 和 COM
2006/10/09 PHP
php 前一天或后一天的日期
2008/06/28 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
PHP 变量的定义方法
2010/01/26 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
如何实现iframe(嵌入式帧)的自适应高度
2006/07/26 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
javascript+html5实现绘制圆环的方法
2015/07/28 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
Python yield 小结和实例
2014/04/25 Python
基于python socketserver框架全面解析
2017/09/21 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
Python绘制的二项分布概率图示例
2018/08/22 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
日本小田急百货官网:Odakyu
2018/07/19 全球购物
班级旅游计划书
2014/05/03 职场文书
标准版离职证明书
2014/09/12 职场文书
2014年绿化工作总结
2014/12/09 职场文书
坎儿井导游词
2015/02/09 职场文书
导游词之长城八达岭
2019/09/24 职场文书
启迪人心的励志语录:脾气永远不要大于本事
2020/01/02 职场文书
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
Python anaconda安装库命令详解
2021/10/16 Python