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 | Экземпляр RouteCollection |
| 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 = ABSOLUTEPATH, но маршрут требует схемы https, в то время как текущая схема http, он вместо этого вернёт ABSOLUTEURL со схемой https и текущим хостом. Это гарантирует, что сгенерированный URL соответствует маршруту в любом случае.
Если маршрута с заданным именем нет, генератор должен выбросить RouteNotFoundException.
Параметры
| string | $name | Имя маршрута |
| mixed | $parameters | Массив параметров |
| int | $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/3.1/Symfony/Component/Routing/Generator/UrlGenerator.html