class InstallStorage

Storage controller used by the Drupal installer.

Hierarchy

Expanded class hierarchy of InstallStorage

See also

install_begin_request()

File

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

Namespace

Drupal\Core\Config
View source
class InstallStorage extends FileStorage {

  /**
   * Overrides Drupal\Core\Config\FileStorage::__construct().
   */
  public function __construct() {
  }

  /**
   * 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).
   *
   * @return string
   *   The path to the configuration file.
   *
   * @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.
   */
  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,
    )));
  }

  /**
   * Overrides Drupal\Core\Config\FileStorage::write().
   *
   * @throws Drupal\Core\Config\StorageException
   */
  public function write($name, array $data) {
    throw new StorageException('Write operation is not allowed during install.');
  }

  /**
   * Overrides Drupal\Core\Config\FileStorage::delete().
   *
   * @throws Drupal\Core\Config\StorageException
   */
  public function delete($name) {
    throw new StorageException('Delete operation is not allowed during install.');
  }

  /**
   * Overrides Drupal\Core\Config\FileStorage::rename().
   *
   * @throws Drupal\Core\Config\StorageException
   */
  public function rename($name, $new_name) {
    throw new StorageException('Rename operation is not allowed during install.');
  }

  /**
   * Implements Drupal\Core\Config\StorageInterface::listAll().
   *
   * @throws Drupal\Core\Config\StorageException
   */
  public function listAll($prefix = '') {
    throw new StorageException('List operation is not allowed during install.');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FileStorage::$directory protected property The filesystem path for configuration objects.
FileStorage::$dumper protected property A shared YAML dumper instance.
FileStorage::$parser protected property A shared YAML parser instance.
FileStorage::decode public function Implements Drupal\Core\Config\StorageInterface::decode(). Overrides StorageInterface::decode
FileStorage::encode public function Implements Drupal\Core\Config\StorageInterface::encode(). Overrides StorageInterface::encode
FileStorage::exists public function Implements Drupal\Core\Config\StorageInterface::exists(). Overrides StorageInterface::exists
FileStorage::getDumper protected function Gets the YAML dumper instance.
FileStorage::getFileExtension public static function Returns the file extension used by the file storage for all configuration files.
FileStorage::getParser protected function Gets the YAML parser instance.
FileStorage::read public function Implements Drupal\Core\Config\StorageInterface::read(). Overrides StorageInterface::read
InstallStorage::delete public function Overrides Drupal\Core\Config\FileStorage::delete(). Overrides FileStorage::delete
InstallStorage::getFilePath public function Overrides Drupal\Core\Config\FileStorage::getFilePath(). Overrides FileStorage::getFilePath
InstallStorage::listAll public function Implements Drupal\Core\Config\StorageInterface::listAll(). Overrides FileStorage::listAll
InstallStorage::rename public function Overrides Drupal\Core\Config\FileStorage::rename(). Overrides FileStorage::rename
InstallStorage::write public function Overrides Drupal\Core\Config\FileStorage::write(). Overrides FileStorage::write
InstallStorage::__construct public function Overrides Drupal\Core\Config\FileStorage::__construct(). Overrides FileStorage::__construct