Маршрутизатор
класс Маршрутизатор реализует 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: Имя класса для сгенерированного класса матчера
- 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 |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.3/Symfony/Component/Routing/Router.html