Spec-Zone.ru › Symfony 2.8

UrlGenerator

class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInterface

UrlGenerator может сгенерировать URL или путь для любого маршрута в RouteCollection на основе переданных параметров.

Методы

__construct(RouteCollection $routes, RequestContext $context, LoggerInterface $logger = null)
setContext(RequestContext $context)

Устанавливает контекст запроса.

RequestContext getContext()

Получает контекст запроса.

setStrictRequirements(bool|null $enabled)

Включает или отключает исключение при некорректных параметрах.

bool|null isStrictRequirements()

Возвращает, нужно ли выбрасывать исключение при некорректных параметрах.

string generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH)

Генерирует URL или путь для конкретного маршрута на основе заданных параметров.

static string getRelativePath(string $basePath, string $targetPath)

Возвращает целевой путь как относительную ссылку от базового пути.

Подробности

__construct(RouteCollection $routes, RequestContext $context, LoggerInterface $logger = null)

Параметры

RouteCollection $routes
RequestContext $context
LoggerInterface $logger

setContext(RequestContext $context)

Устанавливает контекст запроса.

Параметры

RequestContext $context

RequestContext getContext()

Получает контекст запроса.

Возвращаемое значение

RequestContext Контекст

setStrictRequirements(bool|null $enabled)

Включает или отключает исключение при некорректных параметрах.

Передача null полностью деактивирует проверку требований.

Параметры

bool|null $enabled

bool|null isStrictRequirements()

Возвращает, нужно ли выбрасывать исключение при некорректных параметрах.

Null означает, что проверка требований полностью деактивирована.

Возвращаемое значение

bool|null

string generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH)

Генерирует URL или путь для конкретного маршрута на основе заданных параметров.

Параметры, ссылающиеся на заполнители в шаблоне маршрута, будут заменять их в пути или в хосте. Дополнительные параметры добавляются в строку запроса URL.

Если тип переданной ссылки не может быть сгенерирован для маршрута, потому что он требует другого хоста или схемы, чем текущий, метод вернёт более полную ссылку, которая включает необходимые параметры. Например, при вызове этого метода с $referenceType = ABSOLUTE_PATH, но маршрут требует схемы https, а текущая схема - http, он вернёт ABSOLUTE_URL со схемой https и текущим хостом. Это гарантирует, что сгенерированный URL соответствует маршруту в любом случае.

Если маршрута с заданным именем не существует, генератор должен выбросить RouteNotFoundException.

Параметры

string $name Имя маршрута
mixed $parameters Массив параметров
int $referenceType Тип ссылки для генерации (одна из констант)

Возвращаемое значение

string Сгенерированный URL

Исключения

RouteNotFoundException Если маршрута с заданным именем нет
MissingMandatoryParametersException Если отсутствуют обязательные параметры для маршрута
InvalidParameterException Если значение параметра для заполнителя не соответствует требованиям

static string getRelativePath(string $basePath, string $targetPath)

Возвращает целевой путь как относительную ссылку от базового пути.

Только компонента пути URI (без схемы, хоста и т. д.) является релевантной и должна быть задана, начиная со слэша. Оба пути должны быть абсолютными и не содержать относительных частей. Относительные ссылки с одного ресурса на другой полезны при генерации автономных архивов загружаемых документов. Кроме того, они могут использоваться для уменьшения размера ссылок в документах.

Примеры целевых путей, при базовом пути "/a/b/c/d": - "/a/b/c/d" -> "" - "/a/b/c/" -> "./" - "/a/b/" -> "../" - "/a/b/c/other" -> "other" - "/a/x/y" -> "../../x/y"

Параметры

string $basePath Базовый путь
string $targetPath Целевой путь

Возвращаемое значение

string Относительный целевой путь

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Routing/Generator/UrlGenerator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API