* added optional layer parameter to get() method

* added isDefinedLayer() method
This commit is contained in:
Stig Bakken 2002-03-16 23:48:23 +00:00
parent 9a6296c47e
commit c55f61c9aa

View file

@ -446,7 +446,7 @@ class PEAR_Config extends PEAR
}
// }}}
// {{{ get(key)
// {{{ get(key, [layer])
/**
* Returns a configuration value, prioritizing layers as per the
@ -458,12 +458,16 @@ class PEAR_Config extends PEAR
*
* @access public
*/
function get($key)
function get($key, $layer = null)
{
foreach ($this->layers as $layer) {
if (isset($this->configuration[$layer][$key])) {
return $this->configuration[$layer][$key];
if ($layer === null) {
foreach ($this->layers as $layer) {
if (isset($this->configuration[$layer][$key])) {
return $this->configuration[$layer][$key];
}
}
} elseif (isset($this->configuration[$layer][$key])) {
return $this->configuration[$layer][$key];
}
return null;
}
@ -716,6 +720,23 @@ class PEAR_Config extends PEAR
return false;
}
// }}}
// {{{ isDefinedLayer(key)
/**
* Tells whether a given config layer exists.
*
* @param string config layer
*
* @return bool whether <config layer> exists in this object
*
* @access public
*/
function isDefinedLayer($layer)
{
return isset($this->configuration[$layer]);
}
// }}}
}