Класс RouteCollection
Содержит коллекцию маршрутов.
Предоставляет интерфейс для добавления/удаления маршрутов и разбора/генерации URL с использованием содержащихся в нём маршрутов.
Краткое описание свойств
- $_extensions protected
array<string>Расширения маршрутов
- $_middleware protected
arrayОтображение имён middleware и соответствующих объектов.
- $_middlewareGroups protected
arrayОтображение имён групп middleware и соответствующих имён middleware.
- $_named protected
arrayCake\Routing\Route\Route>Хэш-карта именованных маршрутов в этой коллекции.
- $_paths protected
array<string, arrayCake\Routing\Route\Route>>Маршруты, индексированные по префиксу пути.
- $_routeTable protected
array<string, arrayCake\Routing\Route\Route>>Маршруты, присоединённые к этой коллекции.
Краткое описание методов
-
_getNames() protected
Получить набор имён из $url. Поддерживает как старые массивоподобные URL, так и новые URL, содержащие '_name'.
-
add() public
Добавить маршрут в коллекцию.
-
getExtensions() public
Получить расширения, которые могут быть обработаны.
-
getMiddleware() public
Получить массив middleware по списку имён.
-
hasMiddleware() public
Проверить, зарегистрирован ли middleware с указанным именем.
-
hasMiddlewareGroup() public
Проверить, создана ли группа middleware с указанным именем.
-
match() public
Обратный маршрут или сопоставление массива $url с подключёнными маршрутами.
-
middlewareExists() public
Проверить, зарегистрирован ли middleware или группа middleware с указанным именем.
-
middlewareGroup() public
Добавить middleware в группу middleware.
-
named() public
Получить подключённые именованные маршруты.
-
parse() public
Принимает строку URL и итерирует маршруты, пока не найдёт маршрут, подходящий для разбора.
-
parseRequest() public
Принимает ServerRequestInterface, итерирует маршруты, пока не найдёт маршрут, подходящий для разбора.
-
registerMiddleware() public
Зарегистрировать middleware в RouteCollection.
-
routes() public
Получить все подключённые маршруты в виде плоского списка.
-
setExtensions() public
Установить расширения, которые может обрабатывать коллекция маршрутов.
Подробное описание методов
_getNames() protected
_getNames(array $url): array<string>
Получить набор имён из $url. Поддерживает как старые стили URL-массивов, так и новые URL-стили, содержащие «_name».
Параметры
-
array$url URL для соответствия.
Возвращает
array<string>add() public
add(Cake\Routing\Route\Route $route, array<string, mixed> $options = []): void
Добавить маршрут в коллекцию.
Параметры
-
Cake\Routing\Route\Route$route Объект маршрута для добавления.
-
array<string, mixed>$options optional Дополнительные параметры для маршрута. В основном для параметра
_name, который включает именованные маршруты.
Возвращает
voidgetExtensions() public
getExtensions(): array<string>
Получить обработчики расширений.
Возвращает
array<string>getMiddleware() public
getMiddleware(array<string> $names): array
Получить массив обработчиков, заданных списком имён.
Параметры
-
array<string>$names Имена обработчиков или групп для извлечения.
Возвращает
arrayИсключения
RuntimeExceptionпри отсутствии запрошенного обработчика.
hasMiddleware() public
hasMiddleware(string $name): bool
Проверить, зарегистрирован ли обработчик с заданным именем.
Параметры
-
string$name Имя обработчика для проверки.
Возвращает
boolhasMiddlewareGroup() public
hasMiddlewareGroup(string $name): bool
Проверить, создана ли группа обработчиков с заданным именем.
Параметры
-
string$name Имя группы обработчиков для проверки.
Возвращает
boolmatch() public
match(array $url, array $context): string
Обратный маршрут или сопоставление массива $url с подключёнными маршрутами.
Возвращает строку URL, сгенерированную маршрутом, или выбрасывает исключение при ошибке.
Параметры
-
array$url URL для сопоставления.
-
array$context Контекст запроса для использования. Содержит ключи _base, _port, _host, _scheme и params.
Возвращает
stringИсключения
Cake\Routing\Exception\MissingRouteExceptionКогда маршрут не был сопоставлен.
middlewareExists() public
middlewareExists(string $name): bool
Проверить, зарегистрирован ли обработчик или группа обработчиков с заданным именем.
Параметры
-
string$name Имя обработчика для проверки.
Возвращает
boolmiddlewareGroup() public
middlewareGroup(string $name, array<string> $middlewareNames): $this
Добавить обработчики в группу обработчиков.
Параметры
-
string$name Имя группы обработчиков.
-
array<string>$middlewareNames Имена обработчиков.
Возвращает
$thisИсключения
RuntimeExceptionnamed() public
named(): arrayCake\Routing\Route\Route>
Получить подключенные именованные маршруты.
Возвращает
arrayCake\Routing\Route\Route>parse() public
parse(string $url, string $method = ''): array
Принимает строку URL и итерирует маршруты, пока не сможет разобрать маршрут.
Параметры
-
string$url URL для разбора.
-
string$method optional HTTP-метод для использования.
Возвращает
arrayИсключения
Cake\Routing\Exception\MissingRouteExceptionКогда URL не соответствует ни одному маршруту.
parseRequest() public
parseRequest(Psr\Http\Message\ServerRequestInterface $request): array
Принимает ServerRequestInterface, итерирует маршруты, пока не сможет разобрать маршрут.
Параметры
-
Psr\Http\Message\ServerRequestInterface$request Запрос для получения данных маршрута.
Возвращает
arrayИсключения
Cake\Routing\Exception\MissingRouteExceptionКогда URL не соответствует ни одному маршруту.
registerMiddleware() public
registerMiddleware(string $name, Psr\Http\Server\MiddlewareInterfaceClosure|string $middleware): $this
Зарегистрировать обработчик с RouteCollection.
После регистрации обработчик может быть применён к текущему маршрутизируемому пространству или любым дочерним пространствам, которые используют ту же RouteCollection.
Параметры
-
string$name Имя обработчика. Используется при применении обработчика к пространству.
-
Psr\Http\Server\MiddlewareInterfaceClosure|string$middleware Регистрируемый обработчик.
Возвращает
$thisИсключения
RuntimeExceptionroutes() public
routes(): arrayCake\Routing\Route\Route>
Получить все подключенные маршруты в виде плоского списка.
Возвращает
arrayCake\Routing\Route\Route>setExtensions() public
setExtensions(array<string> $extensions, bool $merge = true): $this
Установить обработчики расширений, которые может обрабатывать коллекция маршрутов.
Параметры
-
array<string>$extensions Список расширений для установки.
-
bool$merge optional Объединить или перезаписать существующие расширения. По умолчанию
true.
Возвращает
$thisПодробное описание свойств
$_extensions protected
Расширения маршрутов
Тип
array<string>$_middleware protected
Словарь имён обработчиков и связанных с ними объектов.
Тип
array$_middlewareGroups protected
Словарь имён групп обработчиков и связанных с ними имён обработчиков.
Тип
array$_named protected
Хэш-карта именованных маршрутов в этой коллекции.
Тип
arrayCake\Routing\Route\Route>$_paths protected
Маршруты, индексированные по префиксам путей.
Тип
array<string, arrayCake\Routing\Route\Route>>$_routeTable protected
Маршруты, подключённые к этой коллекции.
Тип
array<string, arrayCake\Routing\Route\Route>>
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.4/class-Cake.Routing.RouteCollection.html