
<?php
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 {
$this->_settings = parse_ini_file($file, true);
class settings_yaml extends settings {
include ('spyc.php');
$this->_settings = spyc::yamlload($file);
class settings_xml extends settings {
include ('xmllib.php');
$xml = file_get_contents($file);
$data = xml_unserialize($xml);
$this->_settings = $data ['settings'];
?>