Spec-Zone.ru › Symfony 4.1

Маршрутизатор

класс Маршрутизатор реализует RouterInterface, RequestMatcherInterface

Класс Маршрутизатор является примером интеграции всех компонентов системы маршрутизации для удобства использования.

Свойства

защищённый UrlMatcherInterface|null $matcher
защищённый UrlGeneratorInterface|null $generator
защищённый RequestContext $context
защищённый LoaderInterface $loader
защищённый RouteCollection|null $collection
защищённый mixed $resource
защищённый массив $options
защищённый LoggerInterface|null $logger

Методы

__construct(LoaderInterface $loader, mixed $resource, массив $options = массив(), RequestContext $context = null, LoggerInterface $logger = null)
setOptions(массив $options)

Устанавливает параметры.

setOption(строка $key, mixed $value)

Устанавливает параметр.

mixed getOption(строка $key)

Возвращает значение параметра.

RouteCollection getRouteCollection()

Возвращает экземпляр RouteCollection, связанный с этим маршрутизатором.

setContext(RequestContext $context)

Устанавливает контекст запроса.

RequestContext getContext()

Возвращает контекст запроса.

setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)

Устанавливает фабрику кэша конфигурации.

строка generate(строка $name, mixed $parameters = массив(), целое число $referenceType = self::ABSOLUTE_PATH)

Генерирует URL или путь для конкретного маршрута на основе заданных параметров.

массив match(строка $pathinfo)

Пытается сопоставить URL-путь с набором маршрутов.

массив matchRequest(Request $request)

Пытается сопоставить запрос с набором маршрутов.

UrlMatcherInterface getMatcher()

Возвращает экземпляр UrlMatcher, связанный с этим маршрутизатором.

UrlGeneratorInterface getGenerator()

Возвращает экземпляр UrlGenerator, связанный с этим маршрутизатором.

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
GeneratorDumperInterface getGeneratorDumperInstance()
MatcherDumperInterface getMatcherDumperInstance()

Подробности

__construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)

Параметры

LoaderInterface $loader Экземпляр LoaderInterface
mixed $resource Основной ресурс для загрузки
array $options Массив опций
RequestContext $context Контекст
LoggerInterface $logger Экземпляр логгера

setOptions(array $options)

Устанавливает опции.

Доступные опции:

  • cache_dir: Каталог кэша (или null для отключения кэширования)
  • debug: Включить режим отладки (по умолчанию false)
  • generator_class: Имя реализации UrlGeneratorInterface
  • generator_base_class: Базовый класс для сгенерированного класса генератора
  • generator_cache_class: Имя класса сгенерированного класса генератора
  • generator_dumper_class: Имя реализации GeneratorDumperInterface
  • matcher_class: Имя реализации UrlMatcherInterface
  • matcher_base_class: Базовый класс для сгенерированного класса матчера
  • matcher_dumper_class: Имя класса сгенерированного класса матчера
  • matcher_cache_class: Имя реализации MatcherDumperInterface
  • resource_type: Тип подсказки для основного ресурса (необязательно)
  • strict_requirements: Настройка строгой проверки требований для генераторов, реализующих ConfigurableRequirementsInterface (по умолчанию true)

Параметры

array $options Массив опций

Исключения

InvalidArgumentException При указании неподдерживаемой опции

setOption(string $key, mixed $value)

Устанавливает опцию.

Параметры

string $key Ключ
mixed $value Значение

Исключения

InvalidArgumentException

mixed getOption(string $key)

Получает значение опции.

Параметры

string $key Ключ

Возвращаемое значение

mixed Значение

Исключения

InvalidArgumentException

RouteCollection getRouteCollection()

Получает экземпляр RouteCollection, связанный с этим роутером.

Возвращаемое значение

RouteCollection Экземпляр RouteCollection

setContext(RequestContext $context)

Устанавливает контекст запроса.

Параметры

RequestContext $context

RequestContext getContext()

Получает контекст запроса.

Возвращаемое значение

RequestContext Контекст

setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)

Устанавливает фабрику ConfigCache для использования.

Параметры

ConfigCacheFactoryInterface $configCacheFactory

string generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH)

Генерирует URL или путь для определённого маршрута на основе заданных параметров.

Параметры, ссылающиеся на плейсхолдеры в шаблоне маршрута, будут заменять их в пути или хосте. Дополнительные параметры добавляются как строка запроса в URL.

Если заданный тип ссылки не может быть сгенерирован для маршрута, потому что он требует другого хоста или схемы, чем текущая, метод вернёт более полную ссылку, которая включает необходимые параметры. Например, если вы вызываете этот метод с $referenceType = ABSOLUTE_PATH, а маршрут требует схему https, а текущая схема – http, то он вместо этого вернёт ABSOLUTE_URL со схемой https и текущим хостом. Это гарантирует, что сгенерированный URL соответствует маршруту в любом случае.

Если маршрута с заданным именем не существует, генератор должен выбросить исключение RouteNotFoundException.

Специальный параметр _fragment будет использоваться как фрагмент документа, добавленный в конец конечного URL.

Параметры

string $name Имя маршрута
mixed $parameters Массив параметров
int $referenceType Тип ссылки для генерации (одна из констант)

Возвращаемое значение

string Сгенерированный URL

Исключения

RouteNotFoundException Если указанный маршрут не существует
MissingMandatoryParametersException Когда некоторые параметры отсутствуют, являясь обязательными для маршрута
InvalidParameterException Когда значение параметра для плейсхолдера неверно, так как не соответствует требованиям

array match(string $pathinfo)

Пытается сопоставить URL-путь с набором маршрутов.

Если матчер не может найти информацию, он должен выбросить одно из перечисленных ниже исключений.

Параметры

string $pathinfo Информация о пути для обработки (в сыром формате, т.е. не URL-декодированный)

Возвращаемое значение

array Массив параметров

Исключения

NoConfigurationException Если конфигурация маршрутизации не найдена
ResourceNotFoundException Если ресурс не найден
MethodNotAllowedException Если ресурс найден, но метод запроса не разрешён

array matchRequest(Request $request)

Пытается сопоставить запрос с набором маршрутов.

Если матчер не может найти информацию, он должен выбросить одно из перечисленных ниже исключений.

Параметры

Request $request

Возвращаемое значение

array Массив параметров

Исключения

NoConfigurationException Если конфигурация маршрутизации не найдена
ResourceNotFoundException Если подходящий ресурс не найден
MethodNotAllowedException Если подходящий ресурс найден, но метод запроса не разрешён

UrlMatcherInterface getMatcher()

Получает экземпляр UrlMatcher, связанный с этим роутером.

Возвращаемое значение

UrlMatcherInterface Экземпляр UrlMatcherInterface

UrlGeneratorInterface getGenerator()

Получает экземпляр UrlGenerator, связанный с этим роутером.

Возвращаемое значение

UrlGeneratorInterface Экземпляр UrlGeneratorInterface

addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)

Параметры

ExpressionFunctionProviderInterface $provider

protected GeneratorDumperInterface getGeneratorDumperInstance()

Возвращаемое значение

GeneratorDumperInterface

protected MatcherDumperInterface getMatcherDumperInstance()

Возвращаемое значение

MatcherDumperInterface

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Routing/Router.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API