Маршрутизатор
класс Маршрутизатор реализует RouterInterface, RequestMatcherInterface
Класс Маршрутизатор является примером интеграции всех компонентов системы маршрутизации для удобного использования.
Методы
| __construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = 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 для использования. | ||
| 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) |
Подробности
__construct(LoaderInterface $loader, mixed $resource, array $options = array(), RequestContext $context = null, LoggerInterface $logger = null)
Параметры
| LoaderInterface | $loader | Экземпляр LoaderInterface |
| mixed | $resource | Основной ресурс для загрузки |
| array | $options | Массив параметров |
| RequestContext | $context | Контекст |
| LoggerInterface | $logger | Экземпляр логгера |
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 = 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 | Путь для разбора (сырой формат, т.е. не 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 |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.4/Symfony/Component/Routing/Router.html