-
- /**
- * 功能:读取配置文件
- * 编辑:bbs.it-home.org
- * 最后修改:2013/10/11
- */
- class Settings {
- var $_settings = array();
-
- function get($var) {
- $var = explode('.', $var);
- $result = $this->_settings;
- foreach ($var as $key) {
- if (!isset ($result [$key])) {
- return false;
- }
- $result = $result [$key];
- }
- return $result;
- }
-
- function load() {
- trigger_error('Not yet implemented', E_USER_ERROR);
- }
- }
-
- class Settings_PHP extends Settings {
- function load($file) {
- if (file_exists($file) == false) {
- return false;
- }
-
- // Include file
- include ($file);
- unset ($file);
-
- // Get declared variables
- $vars = get_defined_vars();
-
- // Add to settings array
- foreach ($vars as $key => $val) {
- if ($key == 'this')
- continue;
- $this->_settings [$key] = $val;
- }
-
- }
- }
-
- class Settings_INI extends Settings {
- function load($file) {
- if (file_exists($file) == false) {
- return false;
- }
- $this->_settings = parse_ini_file($file, true);
- }
- }
-
- class Settings_YAML extends Settings {
- function load($file) {
- if (file_exists($file) == false) {
- return false;
- }
-
- include ('spyc.php');
- $this->_settings = Spyc::YAMLLoad($file);
- }
- }
-
- class Settings_XML extends Settings {
- function load($file) {
- if (file_exists($file) == false) {
- return false;
- }
-
- include ('xmllib.php');
- $xml = file_get_contents($file);
- $data = XML_unserialize($xml);
-
- $this->_settings = $data ['settings'];
- }
- }
- ?>
复制代码
|