Spec-Zone.ru › Symfony 3.4

Маршрутизатор

класс 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: Имя реализации 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 Путь для обработки (в сыром формате, т.е. не urldecoded)

Возвращаемое значение

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

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.4/Symfony/Bundle/FrameworkBundle/Routing/Router.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API