protected function InstallStorage::getAllFolders in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/InstallStorage.php \Drupal\Core\Config\InstallStorage::getAllFolders()
- 9 core/lib/Drupal/Core/Config/InstallStorage.php \Drupal\Core\Config\InstallStorage::getAllFolders()
Returns a map of all config object names and their folders.
Return value
array An array mapping config object names with directories.
File
- core/
lib/ Drupal/ Core/ Config/ InstallStorage.php, line 150
Class
- InstallStorage
- Storage used by the Drupal installer.
Namespace
Drupal\Core\ConfigCode
protected function getAllFolders() {
if (!isset($this->folders)) {
$this->folders = [];
$this->folders += $this
->getCoreNames();
// Perform an ExtensionDiscovery scan as we cannot use
// \Drupal\Core\Extension\ExtensionList::getPath() yet because the system
// module may not yet be enabled during install.
// @todo Remove as part of https://www.drupal.org/node/2186491
$listing = new ExtensionDiscovery(\Drupal::root());
if ($profile = \Drupal::installProfile()) {
$profile_list = $listing
->scan('profile');
if (isset($profile_list[$profile])) {
// Prime the \Drupal\Core\Extension\ExtensionList::getPathname static
// cache with the profile info file location so we can use
// \Drupal\Core\Extension\ExtensionList::getPath() on the active
// profile during the module scan.
// @todo Remove as part of https://www.drupal.org/node/2186491
/** @var \Drupal\Core\Extension\ProfileExtensionList $profile_extension_list */
$profile_extension_list = \Drupal::service('extension.list.profile');
$profile_extension_list
->setPathname($profile, $profile_list[$profile]
->getPathname());
$this->folders += $this
->getComponentNames([
$profile_list[$profile],
]);
}
}
// @todo Remove as part of https://www.drupal.org/node/2186491
$this->folders += $this
->getComponentNames($listing
->scan('module'));
$this->folders += $this
->getComponentNames($listing
->scan('theme'));
}
return $this->folders;
}