Contains Drupal\Core\KeyValueStore\KeyValueFactory.
<?php
/**
* @file
* Contains Drupal\Core\KeyValueStore\KeyValueFactory.
*/
namespace Drupal\Core\KeyValueStore;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Defines the key/value store factory.
*/
class KeyValueFactory {
/**
* Instantiated stores, keyed by collection name.
*
* @var array
*/
protected $stores = array();
/**
* var \Symfony\Component\DependencyInjection\ContainerInterface
*/
protected $container;
/**
* @param \Symfony\Component\DependencyInjection\ContainerInterface $container
*/
function __construct(ContainerInterface $container) {
$this->container = $container;
}
/**
* Constructs a new key/value store for a given collection name.
*
* @param string $collection
* The name of the collection holding key and value pairs.
*
* @return \Drupal\Core\KeyValueStore\KeyValueStoreInterface
* A key/value store implementation for the given $collection.
*/
public function get($collection) {
global $conf;
if (!isset($this->stores[$collection])) {
if (isset($conf['keyvalue_service_' . $collection])) {
$service_name = $conf['keyvalue_service_' . $collection];
}
elseif (isset($conf['keyvalue_default'])) {
$service_name = $conf['keyvalue_default'];
}
else {
$service_name = 'keyvalue.database';
}
$this->stores[$collection] = $this->container
->get($service_name)
->get($collection);
}
return $this->stores[$collection];
}
}
Name | Description |
---|---|
KeyValueFactory | Defines the key/value store factory. |