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