Class Kohana_Config_Database_Reader

Kohana_Config_Database_Reader

Implements: Kohana_Config_Reader | Kohana_Config_Source

Database reader for the kohana config system

package
Kohana/Database
category
Configuration
author
Kohana Team
copyright
(c) Kohana Team
license
https://koseven.ga/LICENSE.md


Constants

  • None

Properties

protected $_db_instance

Default value:
NULL

protected $_table_name

Default value:
string(6) "config"

Methods

public __construct([ array $config = NULL ] ) (defined in Kohana_Config_Database_Reader)

Constructs the database reader object

Parameters

  • array $config = NULL - Configuration for the reader

Source Code

public function __construct(array $config = NULL)
{
	if (isset($config['instance']))
	{
		$this->_db_instance = $config['instance'];
	}
	elseif ($this->_db_instance === NULL)
	{
		$this->_db_instance = Database::$default;
	}

	if (isset($config['table_name']))
	{
		$this->_table_name = $config['table_name'];
	}
}

public load(string $group ) (defined in Kohana_Config_Database_Reader)

Tries to load the specificed configuration group

Returns FALSE if group does not exist or an array if it does

Parameters

  • string $group required - Configuration group

Return Values

  • boolean|array

Source Code

public function load($group)
{
	/**
	 * Prevents the catch-22 scenario where the database config reader attempts to load the 
	 * database connections details from the database.
	 *
	 * @link http://dev.kohanaframework.org/issues/4316
	 */
	if ($group === 'database')
		return FALSE;

	$query = DB::select('config_key', 'config_value')
		->from($this->_table_name)
		->where('group_name', '=', $group)
		->execute($this->_db_instance);

	return count($query) ? array_map('unserialize', $query->as_array('config_key', 'config_value')) : FALSE;
}

Do you want to contribute to Koseven?

We need YOUR help!

This project is open source. What does this mean? YOU can help:
  • Found a bug? Report it on Github
  • Need a feature? Add it Here
  • Want to help? Join the Forum
Go to Github