class ConfigModuleOverridesEvent
Event object to allow configuration to be overridden by modules.
Hierarchy
- class \Drupal\Component\EventDispatcher\Event extends \Symfony\Contracts\EventDispatcher\Event
- class \Drupal\Core\Config\ConfigModuleOverridesEvent extends \Drupal\Component\EventDispatcher\Event
 
 
Expanded class hierarchy of ConfigModuleOverridesEvent
File
- 
              core/
lib/ Drupal/ Core/ Config/ ConfigModuleOverridesEvent.php, line 12  
Namespace
Drupal\Core\ConfigView source
class ConfigModuleOverridesEvent extends Event {
  
  /**
   * Configuration names.
   *
   * @var array
   */
  protected $names;
  
  /**
   * Configuration overrides.
   *
   * @var array
   */
  protected $overrides;
  
  /**
   * The Language object used to override configuration data.
   *
   * @var \Drupal\Core\Language\LanguageInterface
   */
  protected $language;
  
  /**
   * Constructs a configuration overrides event object.
   *
   * @param array $names
   *   A list of configuration names.
   * @param \Drupal\Core\Language\LanguageInterface $language
   *   (optional) The language for this configuration.
   */
  public function __construct(array $names, ?LanguageInterface $language = NULL) {
    $this->names = $names;
    $this->language = $language;
    $this->overrides = [];
  }
  
  /**
   * Gets configuration names.
   *
   * @return array
   *   The list of configuration names that can be overridden.
   */
  public function getNames() {
    return $this->names;
  }
  
  /**
   * Gets configuration language.
   *
   * @return \Drupal\Core\Language\LanguageInterface
   *   The configuration language object.
   */
  public function getLanguage() {
    return $this->language;
  }
  
  /**
   * Get configuration overrides.
   *
   * @return array
   *   The array of configuration overrides.
   */
  public function getOverrides() {
    return $this->overrides;
  }
  
  /**
   * Sets a configuration override for the given name.
   *
   * @param string $name
   *   The configuration object name to override.
   * @param array $values
   *   The values in the configuration object to override.
   *
   * @return $this
   */
  public function setOverride($name, array $values) {
    if (in_array($name, $this->names)) {
      if (isset($this->overrides[$name])) {
        // Existing overrides take precedence since these will have been added
        // by events with a higher priority.
        $this->overrides[$name] = NestedArray::mergeDeepArray([
          $values,
          $this->overrides[$name],
        ], TRUE);
      }
      else {
        $this->overrides[$name] = $values;
      }
    }
    return $this;
  }
}
Members
| Title Sort descending | Modifiers | Object type | Summary | 
|---|---|---|---|
| ConfigModuleOverridesEvent::$language | protected | property | The Language object used to override configuration data. | 
| ConfigModuleOverridesEvent::$names | protected | property | Configuration names. | 
| ConfigModuleOverridesEvent::$overrides | protected | property | Configuration overrides. | 
| ConfigModuleOverridesEvent::getLanguage | public | function | Gets configuration language. | 
| ConfigModuleOverridesEvent::getNames | public | function | Gets configuration names. | 
| ConfigModuleOverridesEvent::getOverrides | public | function | Get configuration overrides. | 
| ConfigModuleOverridesEvent::setOverride | public | function | Sets a configuration override for the given name. | 
| ConfigModuleOverridesEvent::__construct | public | function | Constructs a configuration overrides event object. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.