Kohana_Config
Wrapper for configuration arrays.
Methods
public static instance ( )
Get the singleton instance of Kohana_Config.
Returns:
Kohana_Config
Source:
public static function instance()
{
if (self::$_instance === NULL)
{
// Create a new instance
self::$_instance = new self;
}
return self::$_instance;
}
public attach ( object $reader, boolean $first = true )
Attach a configuration reader.
Returns:
$this
Source:
public function attach(Kohana_Config_Reader $reader, $first = TRUE)
{
if ($first === TRUE)
{
// Place the log reader at the top of the stack
array_unshift($this->_readers, $reader);
}
else
{
// Place the reader at the bottom of the stack
$this->_readers[] = $reader;
}
return $this;
}
public detach ( object $reader )
Detaches a configuration reader.
Returns:
$this
Source:
public function detach(Kohana_Config_Reader $reader)
{
if (($key = array_search($reader, $this->_readers)))
{
// Remove the writer
unset($this->_readers[$key]);
}
return $this;
}
public load ( string $group )
Load a configuration group. Searches the readers in order until the group is found. If the group does not exist, an empty configuration array will be loaded using the first reader.
Returns:
objectKohana_Config_Reader
Source:
public function load($group)
{
foreach ($this->_readers as $reader)
{
if ($config = $reader->load($group))
{
// Found a reader for this configuration group
return $config;
}
}
// Reset the iterator
reset($this->_readers);
if ( ! is_object($config = current($this->_readers)))
{
throw new Kohana_Exception('No configuration readers attached');
}
// Load the reader as an empty array
return $config->load($group, array());
}
public copy ( string $group )
Copy one configuration group to all of the other readers.
Returns:
$this
Source:
public function copy($group)
{
// Load the configuration group
$config = $this->load($group);
foreach ($this->_readers as $reader)
{
if ($config instanceof $reader)
{
// Do not copy the config to the same group
continue;
}
// Load the configuration object
$object = $reader->load($group, array());
foreach ($config as $key => $value)
{
// Copy each value in the config
$object->offsetSet($key, $value);
}
}
return $this;
}
final private __construct ( )
Source:
final private function __construct()
{
// Enforce singleton behavior
}
final private __clone ( )
Source:
final private function __clone()
{
// Enforce singleton behavior
}