function RecipeMultipleModulesConfigStorage::createFromModuleList

Same name and namespace in other branches
  1. main core/lib/Drupal/Core/Recipe/RecipeMultipleModulesConfigStorage.php \Drupal\Core\Recipe\RecipeMultipleModulesConfigStorage::createFromModuleList()

Creates a RecipeMultipleModulesConfigStorage from a list of modules.

Parameters

string[] $modules: The list of modules.

\Drupal\Core\Extension\ModuleExtensionList $extensionList: The extension listing service.

string $collection: (optional) The collection to read configuration from. Defaults to the default collection.

Return value

self The RecipeMultipleModulesConfigStorage object.

18 calls to RecipeMultipleModulesConfigStorage::createFromModuleList()
RecipeMultipleModulesConfigStorageTest::testCreateCollection in core/tests/Drupal/Tests/Core/Recipe/RecipeMultipleModulesConfigStorageTest.php
Tests createCollection() returns a new instance with the given collection.
RecipeMultipleModulesConfigStorageTest::testCreateCollectionReadsFromSubdirectories in core/tests/Drupal/Tests/Core/Recipe/RecipeMultipleModulesConfigStorageTest.php
Tests createCollection() reads from collection subdirectories.
RecipeMultipleModulesConfigStorageTest::testCreateFromModuleListEmpty in core/tests/Drupal/Tests/Core/Recipe/RecipeMultipleModulesConfigStorageTest.php
Tests createFromModuleList() throws when given an empty module list.
RecipeMultipleModulesConfigStorageTest::testDecode in core/tests/Drupal/Tests/Core/Recipe/RecipeMultipleModulesConfigStorageTest.php
Tests decode().
RecipeMultipleModulesConfigStorageTest::testEncode in core/tests/Drupal/Tests/Core/Recipe/RecipeMultipleModulesConfigStorageTest.php
Tests encode() delegates to underlying FileStorage.

... See full list

File

core/lib/Drupal/Core/Recipe/RecipeMultipleModulesConfigStorage.php, line 67

Class

RecipeMultipleModulesConfigStorage
Provides a read-only config storage spanning multiple modules' config.

Namespace

Drupal\Core\Recipe

Code

public static function createFromModuleList(array $modules, ModuleExtensionList $extensionList, string $collection = StorageInterface::DEFAULT_COLLECTION) : self {
  if (empty($modules)) {
    throw new \InvalidArgumentException('At least one module must be provided.');
  }
  // Convert the list of modules to a list of file storages keyed by the
  // module name.
  $file_storages = array_map(fn($module) => new FileStorage($extensionList->get($module)
    ->getPath() . '/' . InstallStorage::CONFIG_INSTALL_DIRECTORY, $collection), array_combine($modules, $modules));
  return new self($file_storages, $collection);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.