Маршрутизатор
класс Маршрутизатор расширяет Маршрутизатор и реализует WarmableInterface, ServiceSubscriberInterface
Этот Маршрутизатор создаёт Загрузчик только тогда, когда кэш пуст.
Свойства
| защищённый UrlMatcherInterface|null | $matcher | из Маршрутизатор | |
| защищённый UrlGeneratorInterface|null | $generator | из Маршрутизатор | |
| защищённый RequestContext | $context | из Маршрутизатор | |
| защищённый LoaderInterface | $loader | из Маршрутизатор | |
| защищённый RouteCollection|null | $collection | из Маршрутизатор | |
| защищённый mixed | $resource | из Маршрутизатор | |
| защищённый массив | $options | из Маршрутизатор | |
| защищённый LoggerInterface|null | $logger | из Маршрутизатор |
Методы
| __construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null, ContainerInterface $parameters = null, LoggerInterface $logger = 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 для использования. | из Маршрутизатор | |
| строка | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для определённого маршрута на основе заданных параметров. | из Маршрутизатор |
| массив | match(string $pathinfo) Попытка сопоставить URL-путь с набором маршрутов. | из Маршрутизатор |
| массив | matchRequest(Request $request) Попытка сопоставить запрос с набором маршрутов. | из Маршрутизатор |
| UrlMatcherInterface | getMatcher() Получает экземпляр UrlMatcher, связанный с этим Маршрутизатором. | из Маршрутизатор |
| UrlGeneratorInterface | getGenerator() Получает экземпляр UrlGenerator, связанный с этим Маршрутизатором. | из Маршрутизатор |
| addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) | из Маршрутизатор | |
| GeneratorDumperInterface | getGeneratorDumperInstance() | из Маршрутизатор |
| MatcherDumperInterface | getMatcherDumperInstance() | из Маршрутизатор |
| warmUp(string $cacheDir) Запускает разогрев кеша. | ||
| статический массив | getSubscribedServices() Возвращает массив типов сервисов, необходимых для таких экземпляров, необязательно с ключами по именам сервисов, используемых внутри. |
Подробности
__construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null, ContainerInterface $parameters = null, LoggerInterface $logger = null)
Параметры
| ContainerInterface | $container | Экземпляр ContainerInterface |
| mixed | $resource | Основной ресурс для загрузки |
| array | $options | Массив параметров |
| RequestContext | $context | Контекст |
| ContainerInterface | $parameters | Экземпляр ContainerInterface для получения параметров |
| LoggerInterface | $logger | Экземпляр логгера |
setOptions(array $options)
Устанавливает параметры.
Доступные параметры:
- cache_dir: Директория кеша (или null для отключения кеширования)
- debug: Включить режим отладки (по умолчанию false)
- generator_class: Имя реализации UrlGeneratorInterface
- generator_base_class: Базовый класс для сгенерированного класса генератора
- generator_cache_class: Имя класса для сгенерированного класса генератора
- generator_dumper_class: Имя реализации GeneratorDumperInterface
- matcher_class: Имя реализации UrlMatcherInterface
- matcher_base_class: Базовый класс для сгенерированного класса матчера
- matcher_dumper_class: Имя класса для сгенерированного класса матчера
- matcher_cache_class: Имя реализации 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 = ABSOLUTE_PATH, но маршрут требует схему https, а текущая схема — http, он вернёт ABSOLUTE_URL со схемой https и текущим хостом. Это гарантирует, что сгенерированный URL соответствует маршруту в любом случае.
Если маршрута с данным именем нет, генератор должен выбросить исключение RouteNotFoundException.
Специальный параметр _fragment будет использован в качестве фрагмента документа, добавленного к конечному URL.
Параметры
| string | $name | Имя маршрута |
| mixed | $parameters | Массив параметров |
| int | $referenceType | Тип ссылки (одна из констант) |
Возвращаемое значение
| string | Сгенерированный URL |
Исключения
| RouteNotFoundException | Если маршрута с заданным именем не существует |
| MissingMandatoryParametersException | Если отсутствуют необходимые параметры для маршрута |
| InvalidParameterException | Если значение параметра для плейсхолдера не соответствует требованиям |
array match(string $pathinfo)
Пытается сопоставить URL-путь с набором маршрутов.
Если матчер не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| string | $pathinfo | Путь для анализа (сырой формат, т.е. не декодированный URL) |
Возвращаемое значение
| array | Массив параметров |
Исключения
| NoConfigurationException | Если конфигурация маршрутизации не найдена |
| ResourceNotFoundException | Если ресурс не найден |
| MethodNotAllowedException | Если ресурс найден, но метод запроса запрещён |
array matchRequest(Request $request)
Пытается сопоставить запрос с набором маршрутов.
Если матчер не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| Request | $request |
Возвращаемое значение
| array | Массив параметров |
Исключения
| NoConfigurationException | Если конфигурация маршрутизации не найдена |
| ResourceNotFoundException | Если соответствующий ресурс не найден |
| MethodNotAllowedException | Если соответствующий ресурс найден, но метод запроса запрещён |
UrlMatcherInterface getMatcher()
Получает экземпляр UrlMatcher, связанный с этим маршрутизатором.
Возвращаемое значение
| UrlMatcherInterface | Экземпляр UrlMatcherInterface |
UrlGeneratorInterface getGenerator()
Получает экземпляр UrlGenerator, связанный с этим маршрутизатором.
Возвращаемое значение
| UrlGeneratorInterface | Экземпляр UrlGeneratorInterface |
addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider)
Параметры
| ExpressionFunctionProviderInterface | $provider |
protected GeneratorDumperInterface getGeneratorDumperInstance()
Значение возврата
| GeneratorDumperInterface |
protected MatcherDumperInterface getMatcherDumperInstance()
Значение возврата
| MatcherDumperInterface |
warmUp(string $cacheDir)
Прогревает кэш.
Параметры
| string | $cacheDir | Директория кеша |
static array getSubscribedServices()
Возвращает массив типов сервисов, необходимых таким экземплярам, необязательно с ключами используемых внутри имён сервисов.
Для обязательных зависимостей:
- array('logger' => 'Psr\Log\LoggerInterface') означает, что объекты используют имя "logger" внутри для получения сервиса, который должен реализовывать Psr\Log\LoggerInterface.
- array('Psr\Log\LoggerInterface') — сокращение для
- array('Psr\Log\LoggerInterface' => 'Psr\Log\LoggerInterface')
иначе:
- array('logger' => '?Psr\Log\LoggerInterface') обозначает необязательную зависимость
- array('?Psr\Log\LoggerInterface') — сокращение для
- array('Psr\Log\LoggerInterface' => '?Psr\Log\LoggerInterface')
Значение возврата
| array | Требуемые типы сервисов, необязательно с ключами имён сервисов |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Bundle/FrameworkBundle/Routing/Router.html