当前位置:首页 > PHP教程 > php环境安装 > 列表

Yaconf配置管理扩展使用示例

发布:smiling 来源: PHP粉丝网  添加日期:2020-04-05 17:51:18 浏览: 评论:0 

本篇文章是对Yaconf配置管理扩展使用示例进行讲述的,具有一定的学习价值,感兴趣的朋友可以看看,希望对你有所帮助。

一、单独使用

在目录 D:\phpStudy\Yaconf 下新增配置文件 redis.ini,内容如下

  1. [base] 
  2.  
  3. parent="yaconf" 
  4.  
  5. children="NULL" 
  6.  
  7. [children:base] 
  8.  
  9. children="set" 

重启服务器,新建 index.php 文件测试

  1. <?php 
  2.  
  3. $redis = \Yaconf::get('redis'); 
  4.  
  5. print_r($redis); 

打印内容

  1. $ php index.php 
  2.  
  3. Hello WorldArray 
  4.  
  5. ( 
  6.  
  7.     [base] => Array 
  8.  
  9.         ( 
  10.  
  11.             [parent] => yaconf 
  12.  
  13.             [children] => NULL 
  14.  
  15.         ) 
  16.  
  17.     [children] => Array 
  18.  
  19.         ( 
  20.  
  21.             [parent] => yaconf 
  22.  
  23.             [children] => set 
  24.  
  25.         ) 
  26.  
  27. ) 

二、框架集成使用(ThinkPHP5.1)

php.ini

  1. [yaconf] 
  2.  
  3. yaconf.directory="/home/www/web/cl_new_pay_dev" 
  4.  
  5. yaconf.check_delay=60 

5.1 版本默认支付yaconf

在项目更目录新建 thinkphp.ini 添加以下内容( cl_new_pay_dev 目录下)

  1. name="yaconf" 
  2.  
  3. year=2015 
  4.  
  5. features[]="fast" 
  6.  
  7. features.1="light" 
  8.  
  9. features.plus="zero-copy" 
  10.  
  11. features.constant=PHP_VERSION 
  12.  
  13. features.env=${HOME} 

由于默认Yaconf使用多个配置文件,建议在项目中使用setYaconf方法指定Yaconf使用的独立配置文件,例如

建议在应用的公共函数文件中进行设置 common.php

think\facade\Config::setYaconf('thinkphp');

(1)使用助手函数

  1. var_dump(Config::yaconf('name')); 
  2.  
  3. var_dump(Config::yaconf('year')); 
  4.  
  5. var_dump(Config::yaconf('features')['plus']); 
  6.  
  7. var_dump(Config::yaconf('features.plus')); 
  8.  
  9. var_dump(Config::yaconf('features.constant')); 
  10.  
  11. var_dump(Config::yaconf('features.env')); 

打印结果

  1. string(6) "yaconf" 
  2.  
  3. string(4) "2015" 
  4.  
  5. string(9) "zero-copy" 
  6.  
  7. string(9) "zero-copy" 
  8.  
  9. string(6) "7.2.12" 
  10.  
  11. string(0) "" 

(2)不适用助手函数,直接访问

  1. print_r("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); 
  2.  
  3. print_r(\Yaconf::get("cpay")); 
  4.  
  5. print_r(\Yaconf::get("cpay.common")); 
  6.  
  7. print_r(\Yaconf::get("cpay.database")); 
  8.  
  9. print_r(\Yaconf::get("cpay.redis")); 
  10.  
  11. print_r(\Yaconf::get("cpay.redis.host")); 

打印结果

  1. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Array 
  2.  
  3. ( 
  4.  
  5.     [common] => Array 
  6.  
  7.         ( 
  8.  
  9.             [app_name] => 二万OCR 
  10.  
  11.             [app_host] => www.cnblogs.com 
  12.  
  13.             [app_debug] => 1 
  14.  
  15.         ) 
  16.  
  17.     [database] => Array 
  18.  
  19.         ( 
  20.  
  21.             [app_name] => 二万OCR 
  22.  
  23.             [app_host] => www.cnblogs.com 
  24.  
  25.             [app_debug] => 1 
  26.  
  27.             [hostname] => 127.0.0.1 
  28.  
  29.             [database] => cl_cpay 
  30.  
  31.             [username] => root 
  32.  
  33.             [password] => wang123456, 
  34.  
  35.         ) 
  36.  
  37.     [redis] => Array 
  38.  
  39.         ( 
  40.  
  41.             [app_name] => 点点支付 
  42.  
  43.             [app_host] => www.cnblogs.com 
  44.  
  45.             [app_debug] => 1 
  46.  
  47.             [host] => 192.168.1.1 
  48.  
  49.             [port] => 6379 
  50.  
  51.             [auth] => 123456 
  52.  
  53.             [prefix] => TII 
  54.  
  55.         ) 
  56.  
  57. ) 
  58.  
  59. Array 
  60.  
  61. ( 
  62.  
  63.     [app_name] => 二万OCR 
  64.  
  65.     [app_host] => www.cnblogs.com 
  66.  
  67.     [app_debug] => 1 
  68.  
  69. ) 
  70.  
  71. Array 
  72.  
  73. ( 
  74.  
  75.     [app_name] => 二万OCR 
  76.  
  77.     [app_host] => www.cnblogs.com 
  78.  
  79.     [app_debug] => 1 
  80.  
  81.     [hostname] => 127.0.0.1 
  82.  
  83.     [database] => cl_cpay 
  84.  
  85.     [username] => root 
  86.  
  87.     [password] => wang123456, 
  88.  
  89. ) 
  90.  
  91. Array 
  92.  
  93. ( 
  94.  
  95.     [app_name] => 二万OCR 
  96.  
  97.     [app_host] => www.cnblogs.com 
  98.  
  99.     [app_debug] => 1 
  100.  
  101.     [host] => 192.168.1.1 
  102.  
  103.     [port] => 6379 
  104.  
  105.     [auth] => 123456 
  106.  
  107.     [prefix] => TII 
  108.  
  109. ) 
  110.  
  111. 192.168.1.1 

capy.ini 配置文件

  1. [common] 
  2.  
  3. app_name = "二万OCR" 
  4.  
  5. app_host = "www.cnblogs.com" 
  6.  
  7. app_debug= true 
  8.  
  9. [database:common] 
  10.  
  11. hostname = "127.0.0.1" 
  12.  
  13. database = "cl_cpay" 
  14.  
  15. username = "root" 
  16.  
  17. password = "wang123456", 
  18.  
  19. [redis:common] 
  20.  
  21. host = "192.168.1.1" 
  22.  
  23. port = 6379 
  24.  
  25. auth = 123456 
  26.  
  27. prefix = "TII" 

Tags: Yaconf配置管理扩展

分享到: