Source for: 'library/MkohZf/Config.php'
<?php
require_once('Zend/Config.php');
class MkohZf_Config extends Zend_Config
{
public function __construct($configDir)
{
$configArray = null;
if($configDir && is_readable($configDir)) {
$configArray = $this->_parseDirectory($configDir);
parent::__construct($configArray);
} else {
throw new MkohZf_Exception("Config dir '{$configDir}' not valid");
}
}
private function _parseDirectory($configDir)
{
$distData = array();
$overrideData = array();
$arrFiles = @scandir($configDir);
if(false === $arrFiles) throw new MkohZf_Exception("Unable to parse Config dir '{$configDir}'");
foreach($arrFiles as $fileName) {
$ext = substr($fileName,-4);
if('.php' == $ext) {
$data = include($configDir.'/'.$fileName);
if(false !== strpos($fileName, '.dist')) {
$distData[substr($fileName,0,-9)] = $data;
} else {
$overrideData[substr($fileName,0,-4)] = $data;
}
}
}
foreach($overrideData as $configName => $configArray) {
foreach($configArray as $key => $value) {
$distData[$configName][$key] = $value;
}
}
return $distData;
}
}
Comments
No comments, why not write one?