Маршрутизатор
класс Router расширяет Router и реализует WarmableInterface, ServiceSubscriberInterface
Этот маршрутизатор создаёт загрузчик только тогда, когда кэш пуст.
Методы
| __construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = null) | ||
| setOptions(array $options) Устанавливает параметры. | из Router | |
| setOption(string $key, mixed $value) Устанавливает параметр. | из Router | |
| смешанный | getOption(string $key) Получает значение параметра. | из Router |
| RouteCollection | getRouteCollection() Получает экземпляр RouteCollection, связанный с этим маршрутизатором. | |
| setContext(RequestContext $context) Устанавливает контекст запроса. | из Router | |
| RequestContext | getContext() Получает контекст запроса. | из Router |
| setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) Устанавливает фабрику ConfigCache для использования. | из Router | |
| строка | generate(string $name, mixed $parameters = array(), int $referenceType = self::ABSOLUTE_PATH) Генерирует URL или путь для определённого маршрута на основе заданных параметров. | из Router |
| массив | match(string $pathinfo) Пытается сопоставить путь URL с набором маршрутов. | из Router |
| массив | matchRequest(Request $request) Пытается сопоставить запрос с набором маршрутов. | из Router |
| UrlMatcherInterface | getMatcher() Получает экземпляр UrlMatcher, связанный с этим маршрутизатором. | из Router |
| UrlGeneratorInterface | getGenerator() Получает экземпляр UrlGenerator, связанный с этим маршрутизатором. | из Router |
| addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) | из Router | |
| warmUp(string $cacheDir) Прогревает кэш. | ||
| статический массив | getSubscribedServices() Возвращает массив типов сервисов, необходимых для таких экземпляров, необязательно индексированных по именам сервисов, используемых внутри. |
Детали
__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.
Специальный параметр _fragment будет использоваться как фрагмент документа, добавленный в конец конечного URL.
Параметры
| 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 | Директория кэша |
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.
http://api.symfony.com/3.3/Symfony/Bundle/FrameworkBundle/Routing/Router.html