合并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和ACCESS写聊天室(六)
Oct 09 PHP
PHP文件上传实例详解!!!
Jan 02 PHP
php生成EAN_13标准条形码实例
Nov 13 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
php快递单号查询接口使用示例
May 05 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
Jun 12 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
PHP抽奖算法程序代码分享
Oct 08 PHP
php注册登录系统简化版
Dec 28 PHP
Laravel实现自定义错误输出内容的方法
Oct 10 PHP
Yii框架自定义数据库操作组件示例
Nov 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
关于页面优化和伪静态
2009/10/11 PHP
PHP使用逆波兰式计算工资的方法
2015/07/29 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
javascript的console.log()用法小结
2012/05/31 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
2016/09/24 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
Node.js 利用cheerio制作简单的网页爬虫示例
2018/03/01 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
利用Python中的mock库对Python代码进行模拟测试
2015/04/16 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
Python中装饰器高级用法详解
2017/12/25 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
浅谈django orm 优化
2018/08/18 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
HTML5的自定义属性data-*详细介绍和JS操作实例
2014/04/10 HTML / CSS
SQL Server数据库笔试题和答案
2016/02/04 面试题
工程造价与管理专业应届生求职信
2013/11/23 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
意向协议书范本
2014/04/23 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
工作会议通知
2015/04/15 职场文书
Matplotlib可视化之添加让统计图变得简单易懂的注释
2021/06/11 Python
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python