Spec-Zone.ru › CakePHP 4.4

Класс RedirectRoute

Маршрут перенаправления выполнит немедленное перенаправление. Маршруты перенаправления полезны, когда вам нужно, чтобы в вашем приложении происходило перенаправление уровня маршрутизации, когда URL-адреса перемещаются.

Перенаправление сигнализируется исключением, которое останавливает сопоставление маршрутов и определяет URL-адрес перенаправления и код состояния.

Пространство имен: Cake\Routing\Route

Константы

  • string
    PLACEHOLDER_REGEX
    '#\\{([a-z][a-z0-9-_]*)\\}#i'

    Регулярное выражение для сопоставления заменённых значений в шаблоне маршрута.

  • array<string>
    VALID_METHODS
    ['GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD']

    Допустимые HTTP-методы.

Краткое описание свойств

  • $_compiledRoute protected
    string|null

    Компилированное регулярное выражение маршрута

  • $_extensions protected
    array<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

    Список middleware, которые должны быть применены.

  • $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

    Получение имён middleware, которые должны быть применены к этому маршруту.

  • 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

    Установить имена middleware, которые должны быть применены к этому маршруту.

  • setPass() public

    Установить имена параметров, которые будут преобразованы в переданные параметры.

  • setPatterns() public

    Установить регулярные выражения для параметров маршрутизации.

  • setPersist() public

    Установить имена параметров, которые будут автоматически сохранены.

  • setStatus() public

    Устанавливает HTTP-код состояния.

  • staticPath() public

    Получить статическую часть пути для этого маршрута.

END_OF_DOCUMENT_MARKER

Подробное описание методов

__construct() public

__construct(string $template, array $defaults = [], array<string, mixed> $options = [])

Конструктор

Параметры

  • _ext - Определяет расширения, используемые для этого маршрута.
  • _middleware - Определяет имена middleware для этого маршрута.
  • pass - Копирует перечисленные параметры в params['pass'].
  • _method - Определяет HTTP-метод(ы), к которому относится маршрут. Может быть строкой или массивом допустимых имён HTTP-методов.
  • _host - Определяет шаблон имени хоста, если этот маршрут должен соответствовать только определённым именам хостов. Можно использовать .* и для создания поддоменов/хостов с подстановкой. Например, *.example.com соответствует всем поддоменам на example.com.
  • '_port` - Определяет порт, если этот маршрут должен соответствовать только определённому номеру порта.
  • '_urldecode' - Установите значение false для отключения декодирования URL перед обработкой маршрута.

Параметры

string $template

Шаблонная строка с параметрами-заполнителями

array $defaults необязательно

Значения по умолчанию для маршрута. Массив вида redirect=>value или CakePHP массив URL.

array<string, mixed> $options необязательно

Массив дополнительных параметров для маршрута

__set_state() public static

__set_state(array<string, mixed> $fields): static

Магический метод для установки состояния, поддерживающий var_export

Этот метод полезен для приложений, которые хотят реализовать кэширование маршрутизатора.

Параметры

array<string, mixed> $fields

Ключи/значения атрибутов объекта

Возвращает

static

_matchMethod() protected

_matchMethod(array $url): bool

Проверка соответствия HTTP-метода URL.

Параметры

array $url

Массив для генерируемого URL.

Возвращает

bool

_parseArgs() protected

_parseArgs(string $args, array $context): array<string>

Разбор переданных параметров в список переданных аргументов.

Возвращает true, если заданное имя $param и значение $val соответствуют заданному правилу $rule в зависимости от $context. В настоящее время реализованы типы правил контроллер, действие и совпадение, которые могут комбинироваться друг с другом.

Параметры

string $args

Строка с переданными параметрами, например /1/foo

array $context

Текущий контекст маршрута, который должен содержать ключи контроллер/действие.

Возвращает

array<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 необязательно

Массив параметров

Возвращает

string

compile() public

compile(): string

Компилирует регулярное выражение маршрута.

Изменяет свойство defaults, чтобы все необходимые ключи были заданы, и заполняет $this->names именованными элементами маршрутизации.

Возвращает

string

compiled() public

compiled(): bool

Проверка, был ли маршрут скомпилирован в регулярное выражение.

Возвращает

bool

getExtensions() public

getExtensions(): array<string>

Получение поддерживаемых расширений для этого маршрута.

Возвращает

array<string>

getMiddleware() public

getMiddleware(): array

Получение имён middleware, которые должны быть применены к этому маршруту.

Возвращает

array

getName() public

getName(): string

Получение стандартизованного имени plugin.controller:action для маршрута.

Возвращает

string

hostMatches() public

hostMatches(string $host): bool

Проверка соответствия имени хоста требованиям маршрута.

Параметры

string $host

Имя хоста запроса

Возвращает

bool

match() public

match(array $url, array $context = []): string|null

Обратного маршрутизирования перенаправлений маршрутов нет.

Если URL соответствует параметрам и настройкам маршрута, возвращается сгенерированный строковый URL. Если URL не соответствует параметрам маршрута, возвращается false. Этот метод обрабатывает обратное маршрутизирование или преобразование массивов URL в строковые URL.

Параметры

array $url

Массив параметров для преобразования в строку.

array $context необязательно

Массив параметров контекста запроса.

Возвращает

string|null

normalizeAndValidateMethods() protected

normalizeAndValidateMethods(array<string>|string $methods): array<string>|string

Нормализует имена методов до верхнего регистра и проверяет, что они являются допустимыми HTTP-методами.

Параметры

array<string>|string $methods

Методы.

Возвращает

array<string>|string

Вызывает исключение

InvalidArgumentException
При методах, отсутствующих в списке `VALID_METHODS`.

parse() public

parse(string $url, string $method = ''): array|null

Разбирает строковый URL в массив. Разбор URL приведет к автоматическому перенаправлению.

Если маршрут может быть разобран, возвращается массив параметров; если нет, возвращается null. Строковые URL разбираются, если они соответствуют регулярному выражению маршрута.

Параметры

string $url

URL для разбора.

string $method необязательно

Используемый HTTP-метод.

Возвращает

array|null

Вызывает исключение

Cake\Http\Exception\RedirectException
Исключение возникает при успешном совпадении. Используется для остановки сопоставления маршрутов и сигнализации middleware о необходимости перенаправления.

parseRequest() public

parseRequest(Psr\Http\Message\ServerRequestInterface $request): array|null

Проверяет, может ли данный URL быть обработан этим маршрутом.

Если маршрут может быть обработан, будет возвращён массив параметров; в противном случае будет возвращено null.

Параметры

Psr\Http\Message\ServerRequestInterface $request

URL для попытки разбора.

Возвращает

array|null

setExtensions() public

setExtensions(array<string> $extensions): $this

Устанавливает поддерживаемые расширения для данного маршрута.

Параметры

array<string> $extensions

Расширения для установки.

Возвращает

$this

setHost() public

setHost(string $host): $this

Устанавливает требование к хосту.

Параметры

string $host

Имя хоста, к которому привязан этот маршрут.

Возвращает

$this

setMethods() public

setMethods(array<string> $methods): $this

Устанавливает принимаемые HTTP-методы для этого маршрута.

Параметры

array<string> $methods

Принимаемые HTTP-методы.

Возвращает

$this

Исключения

InvalidArgumentException
В случае, когда методы отсутствуют в списке `VALID_METHODS`.

setMiddleware() public

setMiddleware(array $middleware): $this

Устанавливает имена промежуточного ПО, которое должно быть применено к этому маршруту.

Параметры

array $middleware

Список имён промежуточного ПО, которые нужно применить к этому маршруту. Имена промежуточного ПО будут проверены только при совпадении с маршрутом.

Возвращает

$this

setPass() public

setPass(array<string> $names): $this

Устанавливает имена параметров, которые будут преобразованы в переданные параметры.

Параметры

array<string> $names

Имена параметров, которые должны быть переданы.

Возвращает

$this

setPatterns() public

setPatterns(array<string> $patterns): $this

Устанавливает регулярные выражения для параметров маршрутизации.

Если какие-либо ваши шаблоны содержат многобайтовые значения, режим multibytePattern будет включён.

Параметры

array<string> $patterns

Шаблоны для применения к элементам маршрутизации.

Возвращает

$this

setPersist() public

setPersist(array $names): $this

Устанавливает имена параметров, которые будут автоматически сохранены.

Сохраняемые параметры позволяют определить, какие параметры маршрута должны быть автоматически включены при генерации новых URL. Вы можете переопределить сохраняемые параметры, повторно определив их в URL или удалить их, установив сохраняемый параметр в false.

// remove a persistent 'date' parameter
Router::url(['date' => false', ...]);

Параметры

array $names

Имена параметров, которые должны быть переданы.

Возвращает

$this

setStatus() public

setStatus(int $status): $this

Устанавливает HTTP-статус.

Параметры

int $status

Код состояния для этого маршрута.

Возвращает

$this

staticPath() public

staticPath(): string

Получает статическую часть пути для этого маршрута.

Возвращает

string

Подробное описание свойств

$_compiledRoute protected

Скомпилированное регулярное выражение маршрута.

Тип

string|null

$_extensions protected

Список подключённых расширений для этого маршрута.

Тип

array<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

Список промежуточного ПО, которое должно быть применено.

Тип

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.4/class-Cake.Routing.Route.RedirectRoute.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API