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