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 = ABSOLUTEPATH, но маршрут требует схемы https, а текущая схема — http, он вместо этого вернет ABSOLUTEURL со схемой 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.
http://api.symfony.com/3.2/Symfony/Component/Routing/Generator/UrlGeneratorInterface.html