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. ?>  
目录
打赏
0
0
0
0
122
分享
相关文章
|
11月前
|
PHP对象和类
PHP对象和类
78 0
函数计算产品使用问题之在YAML文件中配置了环境变量,但在PHP代码中无法读取到这些环境变量,是什么原因
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
134 1
|
5月前
|
PHP解析配置文件的常用方法
INI文件是最常见的配置文件格式之一。
86 12
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
87 2
|
8月前
|
go如何读取yaml配置文件?
本文介绍了如何在Go项目中利用YAML文件进行配置管理,以简化变量更改及维护工作。首先,通过`go get gopkg.in/yaml.v3`命令安装YAML处理库。接着,展示了如何创建并解析YAML配置文件,包括定义结构体映射YAML字段、读取文件内容以及错误处理等步骤。此外,还提供了通过Go代码生成YAML文件的方法。使用`gopkg.in/yaml.v3`库能够有效提升项目的可维护性和开发效率。
576 1
go如何读取yaml配置文件?
|
7月前
|
PHP
PHP中的面向对象编程:理解类与对象
本文将深入探讨PHP中面向对象编程的核心概念——类与对象。通过实例讲解,帮助读者更好地理解如何在PHP中运用OOP编写更高效、可维护的代码。
82 9
|
7月前
|
Python 解析 yaml 配置文件
Python 解析 yaml 配置文件
124 0
PHP中的面向对象编程:掌握类与对象的精髓
探索PHP的面向对象编程世界,本文将带你了解如何通过创建和操作类来实例化对象。我们将深入讲解类的声明、构造函数的使用以及继承和多态性的概念。准备好,让我们一起在代码的海洋中航行,揭开PHP对象编程的神秘面纱!
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等