1. 可能大家也都见过很多开源的产品,大多它们的配置文件都存放在一个单独的文件中,而这个文件里只存放了一个数组,其实这里运用了一个PHP的小技巧,就是可以将文件包含进来,并且赋值给一个变量,这个变量就具有了整个配置的数组,我给大家举个例子:
  2.  
  3. config.php
  4. --------------------------
  5. <?php
  6. return array(
  7. 'a' => 1,
  8. 'b' => 2,
  9. 'c' => 3,
  10. );
  11. ?>
  12.  
  13. getconfig.php
  14. --------------------------
  15. <?php
  16. $config = require('config.php');
  17.  
  18. print_r($config);
  19. ?>
  20.  
  21. 大家试一下,会发现$config变量里存储了config.php中的数组, 这就是运用了php可以把文件当作return函数的一种用法。
  1. 这种类似于ci的配置文件处理的方法
  2.  
  3. config.php
  4. --------------------------
  5. <?php

$config['ss'] = 100;
$config['sess'] = 200;
$config['sess_update'] = 300;

  1. ?>
  2.  
  3. getconfig.php
  4. --------------------------
  5. <?php
  6. require('config.php');
  7.  
  8. print_r($config);
  1. return array(
  2. 'master'=>array(
  3. 'master_host'=>'1',
  4. 'master_name'=>'1',
  5. 'master_password'=>'1',
  6. 'master_port'=>'1',
  7. 'slave1'=>array(
  8. 'slave_host'=>'2',
  9. 'slave_name'=>'2',
  10. 'slave_password'=>'2',
  11. 'slave_port'=>'2',
  12. ),
  13. 'slave2'=>array(
  14. 'slave_host'=>'3',
  15. 'slave_name'=>'3',
  16. 'slave_password'=>'3',
  17. 'slave_port'=>'3',
  18. ),
  19. ),
  20. 'master1'=>array(
  21. 'master_host'=>'5',
  22. 'master_name'=>'5',
  23. 'master_password'=>'5',
  24. 'master_port'=>'5',
  25. 'slave1'=>array(
  26. 'slave_host'=>'6',
  27. 'slave_name'=>'6',
  28. 'slave_password'=>'6',
  29. 'slave_port'=>'6',
  30. ),
  31. 'slave2'=>array(
  32. 'slave_host'=>'7',
  33. 'slave_name'=>'7',
  34. 'slave_password'=>'7',
  35. 'slave_port'=>'7',
  36. ),
  37. ),
  38.  
  39. );
  40.  
  41. $config['db']['master']['host']= '';
  42. $config['db']['master']['name']= '';
  43. $config['db']['master']['password']= '';
  44. $config['db']['master']['port']= '';
  45. $config['db']['master']['slave1']['host']= '';
  46. $config['db']['master']['slave1']['name']= '';
  47. $config['db']['master']['slave1']['password']= '';
  48. $config['db']['master']['slave1']['port']= '';
  49. $config['db']['master']['slave2']['host']= '';
  50. $config['db']['master']['slave2']['name']= '';
  51. $config['db']['master']['slave2']['password']= '';
  52. $config['db']['master']['slave2']['port']= '';
  53.  
  54. $config['db']['master1']['host']= '';
  55. $config['db']['master1']['name']= '';
  56. $config['db']['master1']['password']= '';
  57. $config['db']['master1']['port']= '';
  58. $config['db']['master1']['slave1']['host']= '';
  59. $config['db']['master1']['slave1']['name']= '';
  60. $config['db']['master1']['slave1']['password']= '';
  61. $config['db']['master1']['slave1']['port']= '';
  62. $config['db']['master1']['slave2']['host']= '';
  63. $config['db']['master1']['slave2']['name']= '';
  64. $config['db']['master1']['slave2']['password']= '';
  65. $config['db']['master1']['slave2']['port']= '';
  66.  
  67. 多数据库主从配置为例

php读取文件里面的数组做为配置文件的更多相关文章

  1. java 读取文件的字节数组

    /*文件64位编码*/ public static void main(String[] args) {    byte[] fileByte = toByteArray(newFile);   St ...

  2. php以数组做为配置文件的读取和写入操作

    最近想用php开发个简单的文章管理系统,主要是做一批垃圾采集站,目前网上的cms都太多功能了,导致修改个模板要很多文件,花费很多功夫.开始用thinkphp框架做,感觉还是麻烦,后来改用ci,做好了后 ...

  3. bash内置命令mapfile:读取文件内容到数组

    bash提供了两个内置命令:readarray和mapfile,它们是同义词.它们的作用是从标准输入读取一行行的数据,然后每一行都赋值给一个数组的各元素.显然,在shell编程中更常用的是从文件.从管 ...

  4. C#读取文件为byte数组

    private byte[] FileContent(string fileName) { using (FileStream fs = new FileStream(fileName, FileMo ...

  5. c#逐行读取文件到数组

    /// <summary> /// 逐行读取文件到泛型数组 /// </summary> /// <param name="FilePath"> ...

  6. HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)

    说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为 ...

  7. HTML5 文件域+FileReader 分段读取文件(四)

    一.分段读取txt文本 HTML: <div class="container"> <div class="panel panel-default&qu ...

  8. C语言读取文件大量数据到数组

    针对.txt文档的大量有规律数据,譬如100行8列的数据将其读取到二维数组(矩阵)中,留作之后的数据处理. 改程序通过宏定义的方法来确定将要读取程序的行数和列数,将数据读取到二维数组data[100] ...

  9. PHP —— 读取文件到二维数组

    转自:PHP读取自定义ini文件到二维数组 读取文件,可以使用file_get_contents,file,parse_ini_file等,现在有一个需求,需要读取如下格式的文件: [food] ap ...

随机推荐

  1. ajax上传

    使用FormData,进行Ajax请求并上传文件:具体代码如下: html代码: <!DOCTYPE html><html lang="en"><he ...

  2. EntityFramework Code First 手写代码实现生成数据库

    第一步:写实体类 第二步:写一个实体操作类,此类必须继承Dbcontext,此处的属性,将会在初始化时(第一次作,增,删,改的时候),生成相应的表. 第三步:运行程序,会自动建表 注意: 若实体类发生 ...

  3. wpf 触发器,属性触发器,事件触发器,事件触发器。

    <EventTrigger RoutedEvent="Mouse.MouseEnter"/> <DataTrigger Binding="{Bindin ...

  4. 餐厅外卖app第三天

    n听

  5. HBase 分布式环境搭建

    一.前期环境 安装概览 IP Host Name Software Node 192.168.23.128 ae01 JDK 1.7, Zookeeper-3.4.5 HMaster 192.168. ...

  6. HDU 2838 (DP+树状数组维护带权排序)

    Reference: http://blog.csdn.net/me4546/article/details/6333225 题目链接: http://acm.hdu.edu.cn/showprobl ...

  7. jQuery AJAX实例

    <html><head><title>jQuery Ajax 实例演示</title></head><script language= ...

  8. tomcat、Linux服务器

    tomcat.Linux服务器 用到的命令        解压命令: tar -zxvf 文件名 配置 :        vi /etc/profile                按 i  进入 ...

  9. 深入浅出 - Android系统移植与平台开发(十一) - Sensor HAL框架分析之一

    作者:唐老师,华清远见嵌入式学院讲师. 1. Sensor的概念 Sensor即传感器,在当前智能手机上大量存在:G-Sensor.LightsSensor. ProximitySensor.Temp ...

  10. Socket 与 WebSocket

    本文转载自:http://zengrong.net/post/2199.htm 1. 概述 选择了 WebSocket 技术之后,不可避免的,我要将它和其他协议以及技术做一下比较.最常见的,就是需要比 ...