合并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 相关文章推荐
一个用php3编写的简单计数器
Oct 09 PHP
在PHP中使用与Perl兼容的正则表达式
Nov 26 PHP
php广告加载类用法实例
Sep 23 PHP
PHP中array_slice函数用法实例详解
Nov 25 PHP
四种php中webservice实现的简单架构方法及实例
Feb 03 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP+Ajax实现的检测用户名功能简单示例
Feb 12 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
Yii框架核心组件类实例详解
Aug 06 PHP
php输出形式实例整理
May 05 PHP
Laravel服务容器绑定的几种方法总结
Jun 14 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 日,周,月点击排行统计
2012/01/11 PHP
php实现计算百度地图坐标之间距离的方法
2016/05/05 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JS关闭窗口时产生的事件及用法示例
2016/08/20 Javascript
webpack打包react项目的实现方法
2018/06/21 Javascript
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python base64编码解码实例
2015/06/21 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
python 多线程重启方法
2019/02/18 Python
python 实现将list转成字符串,中间用空格隔开
2019/12/25 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
Python自带的IDE在哪里
2020/07/01 Python
6PM官网:折扣鞋、服装及配饰
2018/08/03 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
文员个人的求职信范文
2013/09/26 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
优秀实习生感言
2014/03/01 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
安全月宣传标语
2014/10/07 职场文书
永不妥协观后感
2015/06/10 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
详解MySQL主从复制及读写分离
2021/05/07 MySQL
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL