合并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 IN_ARRAY 函数使用注意事项
Jul 24 PHP
php表单转换textarea换行符的方法
Sep 10 PHP
php设计模式 Mediator (中介者模式)
Jun 26 PHP
php数组中删除元素的实现代码
Jun 22 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 PHP
PHP中常见的缓存技术实例分析
Sep 23 PHP
php轻松实现文件上传功能
Mar 03 PHP
PHP处理bmp格式图片的方法分析
Jul 04 PHP
Laravel中错误与异常处理的用法示例
Sep 16 PHP
php生成短网址/短链接原理和用法实例分析
May 29 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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
模板引擎正则表达式调试小技巧
2011/07/20 PHP
PHP.ini中配置屏蔽错误信息显示和保存错误日志的例子
2014/05/12 PHP
微信公众号开发之语音消息识别php代码
2016/08/08 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
高性能JavaScript 重排与重绘(2)
2015/08/11 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
Select2.js下拉框使用小结
2016/10/24 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python简单实现9宫格图片实例
2020/09/03 Python
Python os库常用操作代码汇总
2020/11/03 Python
Django数据统计功能count()的使用
2020/11/30 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
英语专业毕业生自荐信
2013/10/28 职场文书
电气工程和自动化自荐信范文
2013/12/25 职场文书
会计职业生涯规划书
2014/01/13 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
初中生操行评语大全
2014/04/24 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
新农村建设汇报材料
2014/08/15 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书