3 namespace Drupal\Core\PathProcessor;
5 use Drupal\Core\Path\AliasManagerInterface;
6 use Drupal\Core\Render\BubbleableMetadata;
7 use Symfony\Component\HttpFoundation\Request;
10 * Processes the inbound path using path alias lookups.
12 class PathProcessorAlias implements InboundPathProcessorInterface, OutboundPathProcessorInterface {
15 * An alias manager for looking up the system path.
17 * @var \Drupal\Core\Path\AliasManagerInterface
19 protected $aliasManager;
22 * Constructs a PathProcessorAlias object.
24 * @param \Drupal\Core\Path\AliasManagerInterface $alias_manager
25 * An alias manager for looking up the system path.
27 public function __construct(AliasManagerInterface $alias_manager) {
28 $this->aliasManager = $alias_manager;
34 public function processInbound($path, Request $request) {
35 $path = $this->aliasManager->getPathByAlias($path);
42 public function processOutbound($path, &$options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL) {
43 if (empty($options['alias'])) {
44 $langcode = isset($options['language']) ? $options['language']->getId() : NULL;
45 $path = $this->aliasManager->getAliasByPath($path, $langcode);