首页 > 网站 > 帮助中心 > 正文

Yaconf配置管理扩展使用示例

2024-07-09 22:39:28
字体:
来源:转载
供稿:网友

本篇文章是对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.     [base] => Array 
  7.  
  8.         ( 
  9.  
  10.             [parent] => yaconf 
  11.  
  12.             [children] => NULL 
  13.  
  14.         ) 
  15.  
  16.     [children] => Array 
  17.  
  18.         ( 
  19.  
  20.             [parent] => yaconf 
  21.  
  22.             [children] => set 
  23.  
  24.         ) 
  25.  

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表