合并ThinkPHP配置文件以消除代码冗余的实现方法
很多时候我们在使用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读写文件的方法(生成HTML)
<?php //生成HTML $countfile="template.html"; $num=file_get_contents($countfile); echo $num; $num=str_replace("|*|*|PAGE_TITLE|*|*|","myhome",$num); $path="template.html"; $handle=fopen($path,"w");
-
PHP根据传入参数合并多个JS和CSS文件的简单实现
HTML(使用方法): 复制代码 代码如下: <link rel="stylesheet" type="text/css" href="cssmin.php?get=base,style1,style2,global&path=css/&v=20131023" /><script type="text/javascript" src="jsmin.php?get=jquery-1.6
-
PHP文件读写操作之文件写入代码
在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发中还是时有使用,今天和大家分享如何利用PHP技术实现文件读写之文件写入操作教程,也算是对PHP文件读写操作的入门学习. 将数据写入文件的操作主要涉及三个步骤及部分文件操作函数如下: 1.打开文件(文件操作函数:fopen) 2.写入文件(文件操作函数:fwrite等) 3.关闭文件(文件操作函数:f
-
PHP合并静态文件详解
配置PHP.ini 更改配置项(必须)auto_prepend_file = "C:\xampp\htdocs\auto_prepend_file.php" 更改配置项(可选)allow_url_include = On auto_prepend_file.php文件内容 复制代码 代码如下: <?php /** * 引入static文件 * @param {array|string} 相对路径 * @param {string} 当前执行脚本所在的路径__FILE__
-
php断点续传之文件分割合并详解
php实现断点续传,就需要把大文件分割成多个小文件,然后单个上传.传完后在合并. │ merge.php –合并文件脚本 │ merge.zip –合并后文件 │ socket.zip –需要分割的文件 │ split.php –分割文件脚本 │ └─split –分割后小文件目录 下面是源码 split.php <?php $fp = fopen("socket.zip", "rb"); $filesize = 10; $i = 0; $no = 1; wh
-
php中并发读写文件冲突的解决方案
对于日IP不高或者说并发数不是很大的应用,一般不用考虑这些!用一般的文件操作方法完全没有问题.但如果并发高,在我们对文件进行读写操作时,很有可能多个进程对进一文件进行操作,如果这时不对文件的访问进行相应的独占,就容易造成数据丢失.例如:一个在线聊天室(这里假定把聊天内容写入文件),在同一时刻,用户A和用户B都要操作数据保存文件,首先是A打开了文件,然后更新里面的数据,但这里B也正好也打开了同一个文件,也准备更新里面的数据.当A把写好的文件保存时,这里其实B已经打开了文件.但当B再把文件保存回去时
-
php对csv文件的读取,写入,输出下载操作详解
复制代码 代码如下: <?php $file = fopen('text.csv','r'); while ($data = fgetcsv($file)) { //每次读取CSV里面的一行内容 //print_r($data); //此为一个数组,要获得每一个数据,访问数组下标即可 $goods_list[] = $data; }//print_r($goods_list);echo $goods_list[0][1]; fclose($file);
-
php断点续传之如何分割合并文件
复制代码 代码如下: <?php ini_set("memory_limit", "50M");//必须的,根据你环境的实际情况尽量大,防止报错 ini_set("max_execution_time", "100"); //file_exists() 函数检查文件或目录是否存在,存在则返回 true,否则返回 false. //fread() 函数读取文件(可安全用于二进制文件).fread() 从文件指针 file
-
php的SimpleXML方法读写XML接口文件实例解析
在php5中读写xml文档是非常方便的,可以直接使用php的SimpleXML方法来快速解析与生成xml格式的文件,下面举例说明: 创建一个SimpleXML对象有三种方法: 1.使用new关键字创建 复制代码 代码如下: $xml="<personinfo><item><id>1</id><name>aaa</name><age>16</age></item><item>&l
-
PHP实现将多个文件中的内容合并为新文件的方法示例
本文实例讲述了PHP实现将多个文件中的内容合并为新文件的方法.分享给大家供大家参考,具体如下: function test() { $hostdir= iconv("utf-8","gbk","C:\Users\原万里\Desktop\日常笔记") ; //iconv()转换编码方式,将UTF-8转换为gbk,若是报错在gbk后加//IGNORE $filesnames = scandir($hostdir); //scandir() 函数返回指
-
php实现读取和写入tab分割的文件
本文实例讲述了php实现读取和写入tab分割的文件.分享给大家供大家参考.具体分析如下: 这段php代码实现读取和写入tab分割的文件,包含两个独立的函数,一个读,一个写,例如cvs文件等 // // save an array as tab seperated text file // function write_tabbed_file($filepath, $array, $save_keys=false){ $content = ''; reset($array); while(list
-
php逐行读取txt文件写入数组的方法 原创
本文实例讲述了php逐行读取txt文件写入数组的方法.分享给大家供大家参考.具体如下: 假设有user.txt文件如下: user01 user02 user03 user04 user05 user06 user07 user08 user09 user10 user11 user12 逐行读取user.txt并写入数组的方法如下: $file = fopen("username.txt", "r"); $user=array(); $i=0; //输出文本中所有
随机推荐
- cmd copy命令 文件复制
- perl的logwrapper使用实例代码
- 获取磁盘IO与系统负载Load的shell脚本
- Mysql运行环境优化(Linux系统)
- Iframe thickbox2.0使用的方法
- 使用透明效果来自定义文件上传按钮控件样式
- asp.net显示相同数字相乘的结果,直到数值大于150为止
- 在Python的Flask框架中构建Web表单的教程
- asp实现新评论自动发短信提示的代码
- Android中隐藏状态栏和标题栏的方法汇总(隐藏状态栏、标题栏的五种方法)
- php使用parse_str实现查询字符串解析到变量中的方法
- jquery加载图片时以淡入方式显示的方法
- 重启或杀掉Nginx进程后丢失nginx.pid的解决办法
- Cisco:防止VLAN间的ARP攻击解决方案
- Android自定义View圆形和拖动圆、跟随手指拖动效果
- 基于Socket.IO实现Android聊天功能代码示例
- 20款超赞的jQuery插件 Web开发人员必备
- php单链表实现代码分享
- Python任意字符串转16, 32, 64进制的方法
- Django使用uwsgi部署时的配置以及django日志文件的处理方法