public function InstallStorage::getFilePath

Overrides Drupal\Core\Config\FileStorage::getFilePath().

Returns the path to the configuration file.

Determines the owner and path to the default configuration file of a requested config object name located in the installation profile, a module, or a theme (in this order).

@todo Improve this when figuring out how we want to handle configuration in installation profiles. E.g., a config object actually has to be searched in the profile first (whereas the profile is never the owner), only afterwards check for a corresponding module or theme.

Return value

string The path to the configuration file.

Overrides FileStorage::getFilePath

File

drupal/core/lib/Drupal/Core/Config/InstallStorage.php, line 40
Contains Drupal\Core\Config\InstallStorage.

Class

InstallStorage
Storage controller used by the Drupal installer.

Namespace

Drupal\Core\Config

Code

public function getFilePath($name) {

  // Extract the owner.
  $owner = strtok($name, '.');

  // Determine the path to the owner.
  $path = FALSE;
  foreach (array(
    'profile',
    'module',
    'theme',
  ) as $type) {
    if ($path = drupal_get_path($type, $owner)) {
      $file = $path . '/config/' . $name . '.' . static::getFileExtension();
      if (file_exists($file)) {
        return $file;
      }
    }
  }

  // If any code in the early installer requests a configuration object that
  // does not exist anywhere as default config, then that must be mistake.
  throw new StorageException(format_string('Missing configuration file: @name', array(
    '@name' => $name,
  )));
}