You are here

public function LanguageNegotiator::purgeConfiguration in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/language/src/LanguageNegotiator.php \Drupal\language\LanguageNegotiator::purgeConfiguration()

Resave the configuration to purge missing negotiation methods.

Overrides LanguageNegotiatorInterface::purgeConfiguration

File

core/modules/language/src/LanguageNegotiator.php, line 282

Class

LanguageNegotiator
Class responsible for performing language negotiation.

Namespace

Drupal\language

Code

public function purgeConfiguration() {

  // Ensure that we are getting the defined language negotiation information.
  // An invocation of \Drupal\Core\Extension\ModuleInstaller::install() or
  // \Drupal\Core\Extension\ModuleInstaller::uninstall() could invalidate the
  // cached information.
  $this->negotiatorManager
    ->clearCachedDefinitions();
  $this->languageManager
    ->reset();
  foreach ($this->languageManager
    ->getDefinedLanguageTypesInfo() as $type => $info) {
    $this
      ->saveConfiguration($type, $this
      ->getEnabledNegotiators($type));
  }
}