public function AliasManager::getPathByAlias in Drupal 10
Same name and namespace in other branches
- 9 core/modules/path_alias/src/AliasManager.php \Drupal\path_alias\AliasManager::getPathByAlias()
File
- core/modules/path_alias/src/AliasManager.php, line 150
Class
- AliasManager
- The default alias manager implementation.
Namespace
Drupal\path_alias
Code
public function getPathByAlias($alias, $langcode = NULL) {
$langcode = $langcode ?: $this->languageManager
->getCurrentLanguage(LanguageInterface::TYPE_URL)
->getId();
if (empty($alias) || !empty($this->noPath[$langcode][$alias])) {
return $alias;
}
if (isset($this->lookupMap[$langcode]) && ($path = array_search($alias, $this->lookupMap[$langcode]))) {
return $path;
}
if ($path_alias = $this->pathAliasRepository
->lookupByAlias($alias, $langcode)) {
$this->lookupMap[$langcode][$path_alias['path']] = $alias;
return $path_alias['path'];
}
$this->noPath[$langcode][$alias] = TRUE;
return $alias;
}