合并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 相关文章推荐
让你的网站首页自动选择语言转跳
Dec 06 PHP
PHP运行模式的深入理解
Jun 03 PHP
探讨PHP JSON中文乱码的解决方法详解
Jun 06 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
PHP获取Exif缩略图的方法
Jul 13 PHP
Yii多表联合查询操作详解
Jun 02 PHP
php微信开发自定义菜单
Aug 27 PHP
php实现基于openssl的加密解密方法
Sep 30 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
Jun 12 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php curl post 时出现的问题解决
2014/01/30 PHP
PHP实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
IE6下JS动态设置图片src地址问题
2010/01/08 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
js的image onload事件使用遇到的问题
2014/07/15 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
2015/03/02 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
2016/10/10 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
剖析Angular Component的源码示例
2018/03/23 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
CSS3 动画卡顿性能优化的完美解决方案
2018/09/20 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
ipad上运行python的方法步骤
2019/10/12 Python
python实现登录与注册系统
2020/11/30 Python
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
人力资源管理专业自荐书范文
2014/02/10 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
公务员年度考核个人总结
2015/02/12 职场文书
工程资料员岗位职责
2015/04/13 职场文书
无保留意见审计报告
2015/06/05 职场文书
我的中国梦主题班会
2015/08/14 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
浅析python中特殊文件和特殊函数
2022/02/24 Python
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle