Маршрутизатор
класс Маршрутизатор расширяет Маршрутизатор и реализует WarmableInterface
Этот Маршрутизатор создаёт Загрузчик только тогда, когда кэш пуст.
Методы
| __construct(ContainerInterface $container, mixed $resource, array $options = array(), RequestContext $context = 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) | из Маршрутизатор | |
| GeneratorDumperInterface | getGeneratorDumperInstance() Этот метод является публичным, потому что он должен быть вызываемым из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0. | из Маршрутизатор |
| MatcherDumperInterface | getMatcherDumperInstance() Этот метод является публичным, потому что он должен быть вызываемым из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0. | из Маршрутизатор |
| warmUp(string $cacheDir) Запускает разогрев кэша. |
Подробности
__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.
Параметры
| string | $name | Имя маршрута |
| mixed | $parameters | Массив параметров |
| int | $referenceType | Тип ссылки для генерации (одно из констант) |
Возвращаемое значение
| string | Сгенерированный URL |
Исключения
| RouteNotFoundException | Если именованный маршрут не существует |
| MissingMandatoryParametersException | Когда отсутствуют некоторые обязательные для маршрута параметры |
| InvalidParameterException | Когда значение параметра для плейсхолдера неверно, потому что оно не соответствует требованию |
array match(string $pathinfo)
Пытается сопоставить URL-путь с набором маршрутов.
Если матчер не может найти информацию, он должен выбросить одно из исключений, описанных ниже.
Параметры
| string | $pathinfo | Информацию о пути для анализа (в сыром формате, т.е. не urldecoded) |
Возвращаемое значение
| 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 |
GeneratorDumperInterface getGeneratorDumperInstance()
Этот метод является публичным, потому что он должен вызываться из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0.
Возвращаемое значение
| GeneratorDumperInterface |
MatcherDumperInterface getMatcherDumperInstance()
Этот метод является публичным, потому что он должен вызываться из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0.
Возвращаемое значение
| MatcherDumperInterface |
warmUp(string $cacheDir)
Прогревает кэш.
Параметры
| string | $cacheDir | Директория кэша |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Bundle/FrameworkBundle/Routing/Router.html