Маршрутизатор
класс Маршрутизатор расширяет Маршрутизатор и реализует WarmableInterface
Этот маршрутизатор создаёт загрузчик только тогда, когда кеш пуст.
Методы
| __construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null) Конструктор. | ||
| setOptions(array $options) Устанавливает параметры. | из Маршрутизатор | |
| setOption(string $key, mixed $value) Устанавливает параметр. | из Маршрутизатор | |
| mixed | getOption(string $key) Получает значение параметра. | из Маршрутизатор |
| RouteCollection | getRouteCollection() Возвращает экземпляр RouteCollection, связанный с этим маршрутизатором. | |
| setContext(RequestContext $context) Устанавливает контекст запроса. | из Маршрутизатор | |
| RequestContext | getContext() Получает контекст запроса. | из Маршрутизатор |
| setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) Устанавливает фабрику ConfigCache для использования. | из Маршрутизатор | |
| string | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для определённого маршрута на основе заданных параметров. | из Маршрутизатор |
| array | match(string $pathinfo) Попытка сопоставить путь URL с набором маршрутов. | из Маршрутизатор |
| array | matchRequest(Request $request) Попытка сопоставить запрос с набором маршрутов. | из Маршрутизатор |
| UrlMatcherInterface | getMatcher() Получает экземпляр UrlMatcher, связанный с этим маршрутизатором. | из Маршрутизатор |
| UrlGeneratorInterface | getGenerator() Получает экземпляр UrlGenerator, связанный с этим маршрутизатором. | из Маршрутизатор |
| addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) | из Маршрутизатор | |
| warmUp(string $cacheDir) Подготавливает кеш. |
Подробности
__construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null)
Конструктор.
Параметры
| ContainerInterface | $container | Экземпляр ContainerInterface |
| mixed | $resource | Основной ресурс для загрузки |
| array | $options | Массив параметров |
| RequestContext | $context | Контекст |
setOptions(array $options)
Устанавливает параметры.
Доступные параметры:
- cache_dir: Каталог кэша (или null для отключения кэширования)
- debug: Включить отладку (по умолчанию false)
- generator_class: Имя реализации UrlGeneratorInterface
- generatorbaseclass: Базовый класс для сгенерированного класса генератора
- generatorcacheclass: Имя класса для сгенерированного класса генератора
- generatordumperclass: Имя реализации GeneratorDumperInterface
- matcher_class: Имя реализации UrlMatcherInterface
- matcherbaseclass: Базовый класс для сгенерированного класса матчера
- matcherdumperclass: Имя реализации MatcherDumperInterface
- resource_type: Тип подсказки для основного ресурса (необязательно)
- strict_requirements: Настройка строгой проверки требований для генераторов, реализующих ConfigurableRequirementsInterface (по умолчанию true)
Параметры
| array | $options | Массив параметров |
Исключения
| InvalidArgumentException | При передаче неподдерживаемого параметра |
setOption(string $key, mixed $value)
Устанавливает параметр.
Параметры
| string | $key | Ключ |
| mixed | $value | Значение |
Исключения
| InvalidArgumentException |
mixed getOption(string $key)
Получает значение параметра.
Параметры
| string | $key | Ключ |
Возвращаемое значение
| mixed | Значение |
Исключения
| InvalidArgumentException |
RouteCollection getRouteCollection()
Возвращает экземпляр RouteCollection, связанный с этим маршрутизатором.
Возвращаемое значение
| RouteCollection | Экземпляр RouteCollection |
setContext(RequestContext $context)
Устанавливает контекст запроса.
Параметры
| RequestContext | $context | Контекст |
RequestContext getContext()
Возвращает контекст запроса.
Возвращаемое значение
| RequestContext | Контекст |
setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory)
Устанавливает фабрику ConfigCache для использования.
Параметры
| ConfigCacheFactoryInterface | $configCacheFactory | Фабрика для использования |
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 | Если значение параметра для заполнителя некорректно, так как не соответствует требованиям |
array match(string $pathinfo)
Попытка сопоставить URL-путь с набором маршрутов.
Если матчер не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| string | $pathinfo | Путь для обработки (сырой формат, т.е. без url-декодирования) |
Возвращаемое значение
| array | Массив параметров |
Исключения
| ResourceNotFoundException | Если ресурс не найден |
| MethodNotAllowedException | Если ресурс найден, но метод запроса не разрешен |
array matchRequest(Request $request)
Попытка сопоставить запрос с набором маршрутов.
Если матчер не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| Request | $request | Запрос для сопоставления |
Возвращаемое значение
| array | Массив параметров |
Исключения
| ResourceNotFoundException | Если соответствующий ресурс не найден |
| MethodNotAllowedException | Если соответствующий ресурс найден, но метод запроса не разрешен |
UrlMatcherInterface getMatcher()
Возвращает экземпляр UrlMatcher, связанный с этим маршрутизатором.
Возвращаемое значение
| UrlMatcherInterface | Экземпляр UrlMatcherInterface |
UrlGeneratorInterface getGenerator()
Возвращает экземпляр UrlGenerator, связанный с этим маршрутизатором.
Возвращаемое значение
| UrlGeneratorInterface | Экземпляр UrlGeneratorInterface |
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
Параметры
| ExpressionFunctionProviderInterface | $provider |
warmUp(string $cacheDir)
Прогревает кэш.
Параметры
| string | $cacheDir | Директория кэша |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Bundle/FrameworkBundle/Routing/Router.html