Spec-Zone.ru › Symfony 2.7

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(), bool|string $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(), bool|string $referenceType = self::ABSOLUTE_PATH)

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

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

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

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

Параметры

string $name Имя маршрута
mixed $parameters Массив параметров
bool|string $referenceType Тип ссылки, который нужно сгенерировать (один из констант)

Значение возврата

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

Исключения

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

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

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

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

Примеры целевых путей, если базовый путь равен "/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.7/Symfony/Component/Routing/Generator/UrlGenerator.html

Spec-Zone.ru

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