PHP读取配置文件类(php,ini,yaml,xml)

简介:
Php代码   收藏代码
  1. <?php  
  2. class Settings {  
  3.     var $_settings = array();  
  4.   
  5.     function get($var) {  
  6.         $var = explode('.'$var);  
  7.         $result = $this->_settings;  
  8.         foreach ($var as $key) {  
  9.             if (!isset ($result [$key])) {  
  10.                 return false;  
  11.             }  
  12.             $result = $result [$key];  
  13.         }  
  14.         return $result;  
  15.     }  
  16.   
  17.     function load() {  
  18.         trigger_error('Not yet implemented', E_USER_ERROR);  
  19.     }  
  20. }  
  21.   
  22. class Settings_PHP extends Settings {  
  23.     function load($file) {  
  24.         if (file_exists($file) == false) {  
  25.             return false;  
  26.         }  
  27.   
  28.         // Include file  
  29.         include ($file);  
  30.         unset ($file);  
  31.   
  32.         // Get declared variables  
  33.         $vars = get_defined_vars();  
  34.   
  35.         // Add to settings array  
  36.         foreach ($vars as $key => $val) {  
  37.             if ($key == 'this')  
  38.                 continue;  
  39.             $this->_settings [$key] = $val;  
  40.         }  
  41.   
  42.     }  
  43. }  
  44.   
  45. class Settings_INI extends Settings {  
  46.     function load($file) {  
  47.         if (file_exists($file) == false) {  
  48.             return false;  
  49.         }  
  50.         $this->_settings = parse_ini_file($file, true);  
  51.     }  
  52. }  
  53.   
  54. class Settings_YAML extends Settings {  
  55.     function load($file) {  
  56.         if (file_exists($file) == false) {  
  57.             return false;  
  58.         }  
  59.   
  60.         include ('spyc.php');  
  61.         $this->_settings = Spyc::YAMLLoad($file);  
  62.     }  
  63. }  
  64.   
  65. class Settings_XML extends Settings {  
  66.     function load($file) {  
  67.         if (file_exists($file) == false) {  
  68.             return false;  
  69.         }  
  70.   
  71.         include ('xmllib.php');  
  72.         $xml = file_get_contents($file);  
  73.         $data = XML_unserialize($xml);  
  74.   
  75.         $this->_settings = $data ['settings'];  
  76.     }  
  77. }  
  78.   
  79. ?>  
相关文章
|
1月前
|
Java 程序员 PHP
PHP对象和类
PHP对象和类
21 0
|
4月前
|
XML 数据采集 JavaScript
Java【XML 配置文件解析】
Java【XML 配置文件解析】
|
7月前
|
存储 PHP
(MAC)PHP php.ini 配置文件
(MAC)PHP php.ini 配置文件
106 0
|
7月前
|
XML 存储 JSON
使用自定义XML配置文件在.NET桌面程序中保存设置
本文将详细介绍如何在.NET桌面程序中使用自定义的XML配置文件来保存和读取设置。除了XML之外,我们还将探讨其他常见的配置文件格式,如JSON、INI和YAML,以及它们的优缺点和相关的NuGet类库。最后,我们将重点介绍我们为何选择XML作为配置文件格式,并展示一个实用的示例。
96 0
|
3天前
|
XML Java 数据库连接
Javaweb之Mybatis的XML配置文件的详细解析
Javaweb之Mybatis的XML配置文件的详细解析
13 0
|
1月前
|
Java 数据库连接 mybatis
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
Mybatis+mysql动态分页查询数据案例——Mybatis的配置文件(mybatis-config.xml)
20 1
|
1月前
|
XML 存储 BI
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
13 0
|
2月前
|
负载均衡 Dubbo NoSQL
Dubbo配置文件解密:从dubbo-consumer.xml到dubbo-provider.xml一网打尽【十】
Dubbo配置文件解密:从dubbo-consumer.xml到dubbo-provider.xml一网打尽【十】
42 0