
| Current Path : /var/www/html/sirius-pallets/web/core/modules/workspaces/src/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/sirius-pallets/web/core/modules/workspaces/src/WorkspacesAliasManager.php |
<?php
declare(strict_types=1);
namespace Drupal\workspaces;
use Drupal\path_alias\AliasManagerInterface;
/**
* Decorates the path_alias.manager service for workspace-specific caching.
*
* @internal
*/
class WorkspacesAliasManager implements AliasManagerInterface {
public function __construct(
protected readonly AliasManagerInterface $inner,
protected readonly WorkspaceManagerInterface $workspaceManager,
) {}
/**
* {@inheritdoc}
*/
public function setCacheKey($key): void {
if ($this->workspaceManager->hasActiveWorkspace()) {
$key = $this->workspaceManager->getActiveWorkspace()->id() . ':' . $key;
}
$this->inner->setCacheKey($key);
}
/**
* {@inheritdoc}
*/
public function writeCache(): void {
$this->inner->writeCache();
}
/**
* {@inheritdoc}
*/
public function getPathByAlias($alias, $langcode = NULL): string {
return $this->inner->getPathByAlias($alias, $langcode);
}
/**
* {@inheritdoc}
*/
public function getAliasByPath($path, $langcode = NULL): string {
return $this->inner->getAliasByPath($path, $langcode);
}
/**
* {@inheritdoc}
*/
public function cacheClear($source = NULL): void {
$this->inner->cacheClear($source);
}
}