class PathProcessorLanguage implements InboundPathProcessorInterface, OutboundPathProcessorInterface (View source)

Processes the inbound path using path alias lookups.

Properties

protected ConfigFactoryInterface $config

A config factory for retrieving required config settings.

protected ConfigurableLanguageManagerInterface $languageManager

Language manager for retrieving the url language type.

protected LanguageNegotiatorInterface $negotiator

The language negotiator.

protected array $processors

Local cache for language path processors.

protected bool $multilingual

Flag indicating whether the site is multilingual.

protected ConfigSubscriber $configSubscriber

The language configuration event subscriber.

Methods

__construct(ConfigFactoryInterface $config, ConfigurableLanguageManagerInterface $language_manager, LanguageNegotiatorInterface $negotiator, AccountInterface $current_user, ConfigSubscriber $config_subscriber)

Constructs a PathProcessorLanguage object.

string
processInbound(string $path, Request $request)

Processes the inbound path.

string
processOutbound(string $path, array $options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL)

Processes the outbound path.

initProcessors(string $scope)

Initializes the local cache for language path processors.

initConfigSubscriber()

Initializes the injected event subscriber with the language path processor.

reset()

Resets the collected processors instances.

Details

__construct(ConfigFactoryInterface $config, ConfigurableLanguageManagerInterface $language_manager, LanguageNegotiatorInterface $negotiator, AccountInterface $current_user, ConfigSubscriber $config_subscriber)

Constructs a PathProcessorLanguage object.

Parameters

ConfigFactoryInterface $config

A config factory object for retrieving configuration settings.

ConfigurableLanguageManagerInterface $language_manager

The configurable language manager.

LanguageNegotiatorInterface $negotiator

The language negotiator.

AccountInterface $current_user

The current active user.

ConfigSubscriber $config_subscriber

The language configuration event subscriber.

string processInbound(string $path, Request $request)

Processes the inbound path.

Implementations may make changes to the request object passed in but should avoid all other side effects. This method can be called to process requests other than the current request.

Parameters

string $path

The path to process, with a leading slash.

Request $request

The HttpRequest object representing the request to process. Note, if this method is being called via the path_processor_manager service and is not part of routing, the current request object must be cloned before being passed in.

Return Value

string

The processed path.

string processOutbound(string $path, array $options = [], Request $request = NULL, BubbleableMetadata $bubbleable_metadata = NULL)

Processes the outbound path.

Parameters

string $path

The path to process, with a leading slash.

array $options

(optional) An associative array of additional options, with the following elements:

  • 'query': An array of query key/value-pairs (without any URL-encoding) to append to the URL.
  • 'fragment': A fragment identifier (named anchor) to append to the URL. Do not include the leading '#' character.
  • 'absolute': Defaults to FALSE. Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed.
  • 'language': An optional language object used to look up the alias for the URL. If $options['language'] is omitted, it defaults to the current language for the language type LanguageInterface::TYPE_URL.
  • 'https': Whether this URL should point to a secure location. If not defined, the current scheme is used, so the user stays on HTTP or HTTPS respectively. TRUE enforces HTTPS and FALSE enforces HTTP.
  • 'base_url': Only used internally by a path processor, for example, to modify the base URL when a language dependent URL requires so.
  • 'prefix': Only used internally, to modify the path when a language dependent URL requires so.
  • 'route': The route object for the given path. It will be set by \Drupal\Core\Routing\UrlGenerator::generateFromRoute().
Request $request

The HttpRequest object representing the current request.

BubbleableMetadata $bubbleable_metadata

(optional) Object to collect path processors' bubbleable metadata.

Return Value

string

The processed path.

protected initProcessors(string $scope)

Initializes the local cache for language path processors.

Parameters

string $scope

The scope of the processors: "inbound" or "outbound".

initConfigSubscriber()

Initializes the injected event subscriber with the language path processor.

The language path processor service is registered only on multilingual site configuration, thus we inject it in the event subscriber only when it is initialized.

reset()

Resets the collected processors instances.