Modules
Kohana_Config
Wrapper for configuration arrays. Multiple configuration readers can be attached to allow loading configuration from files, database, etc.
Class declared in SYSPATH/classes/kohana/config.php on line 12.
Properties
protected static
Kohana_Config$_instanceSingleton static instance
object Kohana_Config()
protected
array$_readersConfiguration readers
Methods
public attach( object $reader [, boolean $first = bool TRUE ] ) (defined in Kohana_Config)
Attach a configuration reader. By default, the reader will be added as
the first used reader. However, if the reader should be used only when
all other readers fail, use FALSE for the second parameter.
$config->attach($reader); // Try first
$config->attach($reader, FALSE); // Try last
Parameters
-
object$reader required - Kohana_Config_Reader instance -
boolean$first = bool TRUE - Add the reader as the first used object
Return Values
$this
Source Code
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 copy( string $group ) (defined in Kohana_Config)
Copy one configuration group to all of the other readers.
$config->copy($name);
Parameters
-
string$group required - Configuration group name
Return Values
$this
Source Code
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;
}
public detach( object $reader ) (defined in Kohana_Config)
Detach a configuration reader.
$config->detach($reader);
Parameters
-
object$reader required - Kohana_Config_Reader instance
Return Values
$this
Source Code
public function detach(Kohana_Config_Reader $reader)
{
if (($key = array_search($reader, $this->_readers)) !== FALSE)
{
// Remove the writer
unset($this->_readers[$key]);
}
return $this;
}
public static instance( ) (defined in Kohana_Config)
Get the singleton instance of Kohana_Config.
$config = Kohana_Config::instance();
Return Values
Kohana_Config
Source Code
public static function instance()
{
if (self::$_instance === NULL)
{
// Create a new instance
self::$_instance = new self;
}
return self::$_instance;
}
public load( string $group ) (defined in Kohana_Config)
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.
$array = $config->load($name);
Parameters
-
string$group required - Configuration group name
Tags
Return Values
object- Kohana_Config_Reader
Source Code
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());
}