Маршрутизатор
класс Маршрутизатор реализует 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) Устанавливает фабрику кэша конфигурации для использования. | ||
| 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. |
Подробности
__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 = 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 | Путь для обработки (сырой формат, т. е. не 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 |
GeneratorDumperInterface getGeneratorDumperInstance()
Этот метод является публичным, потому что он должен вызываться из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0.
Возвращаемое значение
| GeneratorDumperInterface |
MatcherDumperInterface getMatcherDumperInstance()
Этот метод является публичным, потому что он должен вызываться из замыкания в PHP 5.3. Он должен быть изменён на защищённый в версии 3.0.
Возвращаемое значение
| MatcherDumperInterface |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.8/Symfony/Component/Routing/Router.html