Интерфейс маршрутизатора
интерфейс RouterInterface реализует UrlMatcherInterface, UrlGeneratorInterface
Интерфейс RouterInterface — это интерфейс, который должны реализовывать все классы маршрутизатора.
Этот интерфейс представляет собой конкатенацию интерфейсов UrlMatcherInterface и UrlGeneratorInterface.
Методы
| setContext(RequestContext $context) Устанавливает контекст запроса. | из RequestContextAwareInterface | |
| RequestContext | getContext() Получает контекст запроса. | из RequestContextAwareInterface |
| массив | match(string $pathinfo) Попытка сопоставить URL-путь с набором маршрутов. | из UrlMatcherInterface |
| строка | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для определенного маршрута на основе заданных параметров. | из UrlGeneratorInterface |
| RouteCollection | getRouteCollection() Получает экземпляр RouteCollection, связанный с этим маршрутизатором. |
Подробное описание
setContext(RequestContext $context)
Устанавливает контекст запроса.
Параметры
| RequestContext | $context |
RequestContext getContext()
Получает контекст запроса.
Значение возврата
| RequestContext | Контекст |
массив match(string $pathinfo)
Попытка сопоставить URL-путь с набором маршрутов.
Если сопоставитель не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| строка | $pathinfo | Путь для обработки (сырой формат, т. е. не urldecode'd) |
Значение возврата
| массив | Массив параметров |
Исключения
| NoConfigurationException | Если конфигурация маршрутизации не найдена |
| ResourceNotFoundException | Если ресурс не найден |
| MethodNotAllowedException | Если ресурс найден, но метод запроса запрещен |
строка 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.
Параметры
| строка | $name | Имя маршрута |
| смешанный тип | $parameters | Массив параметров |
| целое | $referenceType | Тип ссылки, которая должна быть сгенерирована (одно из констант) |
Значение возврата
| строка | Сгенерированный URL |
Исключения
| RouteNotFoundException | Если указанного маршрута не существует |
| MissingMandatoryParametersException | Если некоторые обязательные параметры отсутствуют для маршрута |
| InvalidParameterException | Если значение параметра для плейсхолдера некорректно, так как не соответствует требованиям |
RouteCollection getRouteCollection()
Получает экземпляр RouteCollection, связанный с этим маршрутизатором.
Значение возврата
| RouteCollection | Экземпляр RouteCollection |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Routing/RouterInterface.html