UrlGeneratorInterface
интерфейс UrlGeneratorInterface реализует RequestContextAwareInterface
UrlGeneratorInterface — это интерфейс, который должны реализовывать все классы генераторов URL.
Константы в этом интерфейсе определяют различные типы ссылок на ресурсы, которые объявлены в RFC 3986: http://tools.ietf.org/html/rfc3986 Мы используем термин «URL» вместо «URI», так как он более распространён в веб-приложениях, и нам не нужно различать их, поскольку разница в основном семантическая, а не техническая. Генерация URI, т.е. независимых от представления идентификаторов ресурсов, также возможна.
Константы
| ABSOLUTE_URL | Генерирует абсолютный URL, например, "http://example.com/dir/file". |
| ABSOLUTE_PATH | Генерирует абсолютный путь, например, "/dir/file". |
| RELATIVE_PATH | Генерирует относительный путь на основе текущего пути запроса, например, ". ./parent-file". |
| NETWORK_PATH | Генерирует сетевой путь, например, "//example.com/dir/file". Такая ссылка использует текущий протокол, но указывает хост. |
Методы
| setContext(RequestContext $context) Устанавливает контекст запроса. | из RequestContextAwareInterface | |
| RequestContext | getContext() Получает контекст запроса. | из RequestContextAwareInterface |
| string | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для определённого маршрута на основе заданных параметров. |
Подробности
setContext(RequestContext $context)
Устанавливает контекст запроса.
Параметры
| RequestContext | $context |
RequestContext getContext()
Получает контекст запроса.
Значение возврата
| RequestContext | Контекст |
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 | Когда значение параметра для заполнителя неверно, так как не соответствует требованиям |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Routing/Generator/UrlGeneratorInterface.html