diff --git a/core/includes/config.inc b/core/includes/config.inc index 6c2f880..67b1f35 100644 --- a/core/includes/config.inc +++ b/core/includes/config.inc @@ -1,6 +1,6 @@ get('config.manager'); + $storage_manager = drupal_container()->get('config.storage.manager'); // Allow modules to take over configuration change operations for // higher-level configuration data. @@ -209,7 +209,7 @@ function config_import_invoke_sync_hooks(array $config_changes) { // handle the configuration change. $handled_by_module = FALSE; if (module_hook($module, 'config_import')) { - $old_config = new ConfigObject($storage_manager); + $old_config = new ConfigContainer($storage_manager); $old_config->setName($name); try { $old_config->load(); @@ -222,7 +222,7 @@ function config_import_invoke_sync_hooks(array $config_changes) { catch (ConfigException $e) { $data = array(); } - $new_config = new ConfigObject($storage_manager); + $new_config = new ConfigContainer($storage_manager); $new_config->setName($name)->setData($data); $handled_by_module = module_invoke($module, 'config_import', $op, $name, $new_config, $old_config); } diff --git a/core/lib/Drupal/Core/Config/ConfigObject.php b/core/lib/Drupal/Core/Config/ConfigContainer.php similarity index 99% rename from core/lib/Drupal/Core/Config/ConfigObject.php rename to core/lib/Drupal/Core/Config/ConfigContainer.php index 583af92..41debe1 100644 --- a/core/lib/Drupal/Core/Config/ConfigObject.php +++ b/core/lib/Drupal/Core/Config/ConfigContainer.php @@ -5,7 +5,7 @@ namespace Drupal\Core\Config; /** * Defines the default configuration object. */ -class ConfigObject { +class ConfigContainer { /** * The name of the configuration object. diff --git a/core/lib/Drupal/Core/Config/ConfigFactory.php b/core/lib/Drupal/Core/Config/ConfigFactory.php index cc5caf8..8ce1cd7 100644 --- a/core/lib/Drupal/Core/Config/ConfigFactory.php +++ b/core/lib/Drupal/Core/Config/ConfigFactory.php @@ -20,14 +20,16 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; * is used to determine the storage controller to use for reading and writing * the configuration object data. * - * @see Drupal\Core\Config\ConfigObject + * @see Drupal\Core\Config\ConfigContainer */ class ConfigFactory { + protected $containerClass; - protected $container; + protected $storageManager; - public function __construct(ContainerBuilder $container) { - $this->container = $container; + public function __construct($container_class, StorageManager $storage_manager) { + $this->containerClass = $container_class; + $this->storageManager = $storage_manager; } /** @@ -36,7 +38,7 @@ class ConfigFactory { * @param string $name * The name of the configuration object to construct. * - * @return Drupal\Core\Config\ConfigObject + * @return Drupal\Core\Config\ConfigContainer * A configuration object with the given $name. */ public function get($name) { @@ -58,8 +60,7 @@ class ConfigFactory { // @todo The decrease of CPU time is interesting, since that means that // ContainerBuilder involves plenty of function calls (which are known to // be slow in PHP). - $class = $this->container->getParameter('config.object'); - $config = new $class($this->container->get('config.manager')); + $config = new $this->containerClass($this->storageManager); return $config->setName($name); } } diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php index 0d272c1..a78943d 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php @@ -44,16 +44,14 @@ class ContainerBuilder extends BaseContainerBuilder { 'write' => FALSE, ), )); - $this->register('config.manager', '%config.storage.manager%') + $this->register('config.storage.manager', '%config.storage.manager%') ->addArgument('%config.storage.info%'); // Register configuration system. $this->setParameter('config.factory', 'Drupal\Core\Config\ConfigFactory'); - $this->setParameter('config.object', 'Drupal\Core\Config\ConfigObject'); + $this->setParameter('config.container', 'Drupal\Core\Config\ConfigContainer'); $this->register('config.factory', '%config.factory%') - ->addArgument(new Reference('service_container')); - // @todo Obsolete? - $this->register('config', '%config.object%') - ->addArgument(new Reference('config.manager')); + ->addArgument('%config.container%') + ->addArgument(new Reference('config.storage.manager')); } } diff --git a/core/modules/config/lib/Drupal/config/Tests/ConfigCRUDTest.php b/core/modules/config/lib/Drupal/config/Tests/ConfigCRUDTest.php index 881cf8f..65312fb 100644 --- a/core/modules/config/lib/Drupal/config/Tests/ConfigCRUDTest.php +++ b/core/modules/config/lib/Drupal/config/Tests/ConfigCRUDTest.php @@ -78,14 +78,14 @@ class ConfigCRUDTest extends WebTestBase { } /** - * Tests Drupal\Core\Config\ConfigObject::sortByKey(). + * Tests Drupal\Core\Config\ConfigContainer::sortByKey(). */ function testDataKeySort() { $config = config('config_test.keysort'); $config->set('new', 'Value to be replaced'); $config->set('static', 'static'); $config->save(); - // Clone this ConfigObject, so this test does not rely on any particular + // Clone this ConfigContainer, so this test does not rely on any particular // architecture. $config = clone $config;