Маршрутизатор
класс Маршрутизатор расширяет Маршрутизатор и реализует Интерфейс разогрева кэша
Этот маршрутизатор создаёт загрузчик только тогда, когда кэш пуст.
Методы
| __construct(Интерфейс контейнера $container, mixed $resource, array $options = array(), Контекст запроса $context = null) Конструктор. | ||
| setOptions(array $options) Устанавливает опции. | из Маршрутизатор | |
| setOption(string $key, mixed $value) Устанавливает опцию. | из Маршрутизатор | |
| mixed | getOption(string $key) Получает значение опции. | из Маршрутизатор |
| Коллекция маршрутов | getRouteCollection() Получает экземпляр RouteCollection, связанный с этим маршрутизатором. | |
| setContext(Контекст запроса $context) Устанавливает контекст запроса. | из Маршрутизатор | |
| Контекст запроса | getContext() Получает контекст запроса. | из Маршрутизатор |
| setConfigCacheFactory(Интерфейс фабрики кэша конфигурации $configCacheFactory) Устанавливает фабрику ConfigCache для использования. | из Маршрутизатор | |
| string | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для конкретного маршрута на основе заданных параметров. | из Маршрутизатор |
| array | match(string $pathinfo) Пытается сопоставить URL-путь с набором маршрутов. | из Маршрутизатор |
| array | matchRequest(Запрос $request) Пытается сопоставить запрос с набором маршрутов. | из Маршрутизатор |
| Интерфейс UrlMatcher | getMatcher() Получает экземпляр UrlMatcher, связанный с этим маршрутизатором. | из Маршрутизатор |
| Интерфейс UrlGenerator | getGenerator() Получает экземпляр UrlGenerator, связанный с этим маршрутизатором. | из Маршрутизатор |
| addExpressionLanguageProvider(Интерфейс поставщика функций выражений $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: Имя класса для сгенерированного класса матчера
- matchercacheclass: Имя реализации 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.1/Symfony/Bundle/FrameworkBundle/Routing/Router.html