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.
string The path to the configuration file.
Overrides FileStorage::getFilePath
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,
)));
}