You are here

protected function InstallStorage::getAllFolders in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/InstallStorage.php \Drupal\Core\Config\InstallStorage::getAllFolders()
  2. 10 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.

3 calls to InstallStorage::getAllFolders()
InstallStorage::exists in core/lib/Drupal/Core/Config/InstallStorage.php
Returns whether a configuration object exists.
InstallStorage::getFilePath in core/lib/Drupal/Core/Config/InstallStorage.php
Overrides Drupal\Core\Config\FileStorage::getFilePath().
InstallStorage::listAll in core/lib/Drupal/Core/Config/InstallStorage.php
Gets configuration object names starting with a given prefix.
2 methods override InstallStorage::getAllFolders()
ExtensionInstallStorage::getAllFolders in core/lib/Drupal/Core/Config/ExtensionInstallStorage.php
Returns a map of all config object names and their folders.
TestInstallStorage::getAllFolders in core/modules/config/tests/config_test/src/TestInstallStorage.php
Returns a map of all config object names and their folders.

File

core/lib/Drupal/Core/Config/InstallStorage.php, line 150

Class

InstallStorage
Storage used by the Drupal installer.

Namespace

Drupal\Core\Config

Code

protected function getAllFolders() {
  if (!isset($this->folders)) {
    $this->folders = [];
    $this->folders += $this
      ->getCoreNames();

    // Perform an ExtensionDiscovery scan as we cannot use drupal_get_path()
    // 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_get_filename() static cache with the profile info
        // file location so we can use drupal_get_path() on the active profile
        // during the module scan.
        // @todo Remove as part of https://www.drupal.org/node/2186491
        drupal_get_filename('profile', $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;
}