Класс RedirectRoute
Маршрут перенаправления выполнит немедленное перенаправление. Маршруты перенаправления полезны, когда вам нужно, чтобы в вашем приложении произошли перенаправления уровня маршрутизации, когда URL-адреса перемещаются.
Перенаправление сигнализируется исключением, которое останавливает сопоставление маршрута и определяет URL-адрес перенаправления и код состояния.
Константы
-
arrayVALID_METHODS['GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD']
Допустимые HTTP-методы.
Краткое описание свойств
- $_compiledRoute protected
string|nullСкомпилированное регулярное выражение маршрута
- $_extensions protected
string[]Список подключенных расширений для этого маршрута.
- $_greedy protected
boolЯвляется ли этот маршрут жадным маршрутом? Жадные маршруты имеют
/*в их шаблоне - $_name protected
string|nullИмя маршрута. Получить с помощью Route::getName();
- $braceKeys protected
boolОтслеживать, использовались ли фигурные скобки
{var}. - $defaults public
arrayПараметры по умолчанию для маршрута
- $keys public
arrayМассив именованных сегментов в маршруте.
/{controller}/{action}/{id}имеет 3 ключевых элемента - $middleware protected
arrayСписок мидлваров, которые должны быть применены.
- $options public
arrayМассив дополнительных параметров для маршрута.
- $redirect public
arrayМесто назначения перенаправления.
- $template public
stringСтрока шаблона маршрутов.
Краткое описание методов
-
__construct() public
Конструктор
-
__set_state() public static
Магический метод установки состояния для поддержки var_export
-
_matchMethod() protected
Проверить, соответствует ли HTTP-метод URL.
-
_parseArgs() protected
Разбор переданных параметров в список переданных аргументов.
-
_parseExtension() protected
Удаляет расширение из $url, если оно содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, а URL возвращается без изменений.
-
_persistParams() protected
Применение постоянных параметров к массиву URL. Постоянные параметры — это специальный ключ, используемый при создании маршрута, чтобы принудительно сохранить параметры маршрута при их отсутствии в массиве URL.
-
_writeRoute() protected
Создает регулярное выражение маршрута.
-
_writeUrl() protected
Преобразование массива сопоставленного маршрута в строку URL.
-
compile() public
Компилирует регулярное выражение маршрута.
-
compiled() public
Проверяет, был ли маршрут скомпилирован в регулярное выражение.
-
getExtensions() public
Получить поддерживаемые расширения для этого маршрута.
-
getMiddleware() public
Получить имена мидлваров, которые должны быть применены к этому маршруту.
-
getName() public
Получить стандартизованное имя плагина.контроллер:действие для маршрута.
-
hostMatches() public
Проверка соответствия хоста требованиям маршрута.
-
match() public
Нет обратного перенаправления маршрутизации.
-
normalizeAndValidateMethods() protected
Нормализация имен методов в верхний регистр и проверка на то, что они являются допустимыми HTTP-методами.
-
parse() public
Разбирает строковый URL в массив. Разбор URL приведет к автоматическому перенаправлению.
-
parseRequest() public
Проверка возможности разбора данного URL этим маршрутом.
-
setExtensions() public
Установить поддерживаемые расширения для этого маршрута.
-
setHost() public
Установить требование к хосту
-
setMethods() public
Установить допустимые HTTP-методы для этого маршрута.
-
setMiddleware() public
Установить имена мидлваров, которые должны быть применены к этому маршруту.
-
setPass() public
Установить имена параметров, которые будут преобразованы в переданные параметры
-
setPatterns() public
Установить регулярные выражения для параметров маршрутизации
-
setPersist() public
Установить имена параметров, которые будут автоматически сохранены
-
setStatus() public
Устанавливает HTTP-код состояния
-
staticPath() public
Получить статическую часть пути для этого маршрута.
Подробное описание методов
__construct() public
__construct(string $template, array $defaults = [], array $options = [])
Конструктор
Параметры
-
_ext- Определяет расширения, используемые для этого маршрута. -
_middleware- Определяет имена мидлваров для этого маршрута. -
pass- Копирует перечисленные параметры в params['pass']. -
_method- Определяет HTTP-методы(ы), к которым применяется маршрут. Может быть строкой или массивом допустимых имён HTTP-методов. -
_host- Определяет шаблон имени хоста, если маршрут должен соответствовать только определённым именам хостов. Можно использовать.*и для создания поддоменов/хостов с подстановочными знаками, например,*.example.comсоответствует всем поддоменам наexample.com. - '_port` - Определяет порт, если маршрут должен соответствовать только определённому номеру порта.
Параметры
-
string$template Шаблонная строка с заполнительми параметров
-
array$defaults необязательный Значения по умолчанию для маршрута. Либо массив redirect=>value, либо URL-массив CakePHP.
-
array$options необязательный Массив дополнительных опций для маршрута
__set_state() public static
__set_state(array $fields): static
Магический метод установки состояния для поддержки var_export
Этот метод помогает приложениям, которые хотят реализовать кэширование маршрутизатора.
Параметры
-
array$fields Ключ/Значение атрибутов объекта
Возвращает
static_matchMethod() protected
_matchMethod(array $url): bool
Проверяет, соответствует ли HTTP-метод URL.
Параметры
-
array$url Массив для генерируемого URL.
Возвращает
bool_parseArgs() protected
_parseArgs(string $args, array $context): string[]
Разбирает переданные параметры в список переданных аргументов.
Возвращает true, если заданное имя $param с $val соответствует заданному $rule в зависимости от $context. В настоящее время реализованы типы правил: controller, action и match, которые могут быть объединены друг с другом.
Параметры
-
string$args Строка с переданными параметрами. Пример: /1/foo
-
array$context Текущий контекст маршрута, который должен содержать ключи controller/action.
Возвращает
string[]_parseExtension() protected
_parseExtension(string $url): array
Удаляет расширение из $url, если он содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, и URL возвращается без изменений.
Параметры
-
string$url URL для разбора.
Возвращает
array_persistParams() protected
_persistParams(array $url, array $params): array
Применяет постоянные параметры к массиву URL. Постоянные параметры — это специальный ключ, используемый во время создания маршрута, чтобы принудительно сохранить параметры маршрута при их отсутствии в массиве URL.
Параметры
-
array$url Массив, к которому применяются постоянные параметры.
-
array$params Массив постоянных значений для замены постоянных.
Возвращает
array_writeRoute() protected
_writeRoute(): void
Создаёт регулярное выражение для маршрута.
Использует свойства template, defaults и options для компиляции регулярного выражения, которое можно использовать для разбора строк запроса.
Возвращает
void_writeUrl() protected
_writeUrl(array $params, array $pass = [], array $query = []): string
Преобразует массив соответствующего маршрута в строку URL.
Создаёт строку URL с помощью шаблона, использованного для создания маршрута.
Параметры
-
array$params Параметры для преобразования в строку url
-
array$pass необязательный Дополнительные переданные аргументы
-
array$query необязательный Массив параметров
Возвращает
stringcompile() public
compile(): string
Компилирует регулярное выражение маршрута.
Изменяет свойство defaults, чтобы все необходимые ключи были установлены, и заполняет $this->names именованными элементами маршрутизации.
Возвращает
stringcompiled() public
compiled(): bool
Проверяет, был ли маршрут скомпилирован в регулярное выражение.
Возвращает
boolgetExtensions() public
getExtensions(): string[]
Получить поддерживаемые расширения для этого маршрута.
Возвращает
string[]getMiddleware() public
getMiddleware(): array
Получить имена мидлваров, которые должны быть применены к этому маршруту.
Возвращает
arraygetName() public
getName(): string
Получить стандартизованное имя плагина.контроллер:действие для маршрута.
Возвращает
stringhostMatches() public
hostMatches(string $host): bool
Проверить, соответствует ли хост требованиям маршрута
Параметры
-
string$host Имя хоста запроса
Возвращает
boolmatch() public
match(array $url, array $context = []): string|null
Обратного маршрутизации для перенаправления маршрутов нет.
Если URL соответствует параметрам и настройкам маршрута, возвращается сгенерированная строка URL. Если URL не соответствует параметрам маршрута, возвращается false. Этот метод обрабатывает обратное маршрутизирование или преобразование массивов URL в строковые URL.
Параметры
-
array$url Массив параметров для преобразования в строку.
-
array$context необязательный Массив параметров контекста запроса.
Возвращает
string|nullnormalizeAndValidateMethods() protected
normalizeAndValidateMethods(string|string[] $methods): string|string[]
Нормализует имена методов в верхний регистр и проверяет, являются ли они допустимыми HTTP-методами.
Параметры
-
string|string[]$methods Методы.
Возвращает
string|string[]Выбрасывает
InvalidArgumentExceptionПри методах, которые не находятся в списке `VALID_METHODS`.
parse() public
parse(string $url, string $method = ''): array|null
Разбирает строковый URL в массив. Разбор URL приводит к автоматическому перенаправлению.
Если маршрут может быть разобран, возвращается массив параметров; если нет, возвращается false. Строковые URL разбираются, если они соответствуют регулярному выражению маршрута.
Параметры
-
string$url URL для разбора.
-
string$method необязательный Используемый HTTP-метод.
Возвращает
array|nullВыбрасывает
Cake\Http\Exception\RedirectExceptionИсключение возникает при успешном соответствии. Это используется для остановки сопоставления маршрутов и сигнализирует мидлверам о том, что должно произойти перенаправление.
parseRequest() public
parseRequest(Psr\Http\Message\ServerRequestInterface $request): array|null
Проверяет, может ли данный URL быть разобран этим маршрутом.
Если маршрут может быть разобран, возвращается массив параметров; если нет, возвращается false.
Параметры
-
Psr\Http\Message\ServerRequestInterface$request URL, который нужно попробовать разобрать.
Возвращает
array|nullsetExtensions() public
setExtensions(string[] $extensions): $this
Установите поддерживаемые расширения для этого маршрута.
Параметры
-
string[]$extensions Расширения, которые нужно установить.
Возвращает
$thissetHost() public
setHost(string $host): $this
Установить требование к хосту
Параметры
-
string$host Имя хоста, к которому привязан этот маршрут
Возвращает
$thissetMethods() public
setMethods(string[] $methods): $this
Установите допустимые HTTP-методы для этого маршрута.
Параметры
-
string[]$methods HTTP-методы, которые необходимо принять.
Возвращает
$thisВыбрасывает
InvalidArgumentExceptionКогда методы отсутствуют в списке `VALID_METHODS`.
setMiddleware() public
setMiddleware(array $middleware): $this
Установите имена middleware, которые должны быть применены к этому маршруту.
Параметры
-
array$middleware Список имён middleware, которые нужно применить к этому маршруту. Имена middleware будут проверены только при сопоставлении маршрута.
Возвращает
$thissetPass() public
setPass(string[] $names): $this
Установите имена параметров, которые будут преобразованы в передаваемые параметры
Параметры
-
string[]$names Имена параметров, которые должны быть переданы.
Возвращает
$thissetPatterns() public
setPatterns(string[] $patterns): $this
Установить шаблоны регулярных выражений для параметров маршрутизации
Если какие-либо из ваших шаблонов содержат многобайтовые значения, режим multibytePattern будет включён.
Параметры
-
string[]$patterns Шаблоны, которые нужно применить к элементам маршрутизации
Возвращает
$thissetPersist() public
setPersist(array $names): $this
Установите имена параметров, которые будут автоматически сохранены
Сохраняемые параметры позволяют определить, какие параметры маршрута должны быть автоматически включены при генерации новых URL. Вы можете переопределить сохраняемые параметры, повторно определив их в URL, или удалить их, установив сохраняемый параметр в значение false.
// remove a persistent 'date' parameter Router::url(['date' => false', ...]);
Параметры
-
array$names Имена параметров, которые должны быть переданы.
Возвращает
$thissetStatus() public
setStatus(int $status): $this
Устанавливает HTTP-статус
Параметры
-
int$status Код состояния для этого маршрута
Возвращает
$thisstaticPath() public
staticPath(): string
Получить статическую часть пути для этого маршрута.
Возвращает
stringПодробное описание свойств
$_compiledRoute protected
Скомпилированное регулярное выражение маршрута
Тип
string|null$_extensions protected
Список подключенных расширений для этого маршрута.
Тип
string[]$_greedy protected
Является ли этот маршрут жадным маршрутом? Жадные маршруты содержат /* в своём шаблоне
Тип
bool$_name protected
Имя маршрута. Получить с помощью Route::getName();
Тип
string|null$braceKeys protected
Отслеживает, использовались ли фигурные скобки {var}.
Тип
bool$defaults public
Параметры по умолчанию для маршрута
Тип
array$keys public
Массив именованных сегментов в маршруте. /{controller}/{action}/{id} содержит 3 ключевых элемента
Тип
array$middleware protected
Список middleware, которые должны быть применены.
Тип
array$options public
Массив дополнительных параметров для маршрута.
Тип
array$redirect public
Место перенаправления.
Тип
array$template public
Строка шаблона маршрута.
Тип
string
© 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.2/class-Cake.Routing.Route.RedirectRoute.html