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