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.
Параметры
| 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.1/Symfony/Component/Routing/Generator/UrlGeneratorInterface.html