Класс InflectedRoute
Этот класс маршрута будет прозрачно склонять параметры маршрутизации контроллера и плагина, так что запрос /my_controller будет обработан как ['controller' => 'MyController']
Константы
-
arrayVALID_METHODS['GET', 'PUT', 'POST', 'PATCH', 'DELETE', 'OPTIONS', 'HEAD']
Допустимые HTTP-методы.
Краткое описание полей
- $_compiledRoute protected
string|nullСкомпилированное регулярное выражение маршрута
- $_extensions protected
string[]Список подключенных расширений для этого маршрута.
- $_greedy protected
boolЯвляется ли этот маршрут жадным? Жадные маршруты имеют
/*в своем шаблоне - $_inflectedDefaults 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Массив дополнительных параметров для маршрута.
- $template public
stringСтрока шаблона маршрута.
Краткое описание методов
-
__construct() public
Конструктор маршрута
-
__set_state() public static
Магический метод set state для поддержки var_export
-
_matchMethod() protected
Проверка соответствия HTTP-метода URL.
-
_parseArgs() protected
Разбор переданных параметров в список переданных аргументов.
-
_parseExtension() protected
Удаляет расширение из $url, если оно содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, и URL возвращается без изменений.
-
_persistParams() protected
Применение постоянных параметров к массиву URL. Постоянные параметры — это специальный ключ, используемый при создании маршрута, чтобы принудительно сохранять параметры маршрута, если они опущены в массиве URL.
-
_underscore() protected
Вспомогательный метод для подчеркивания ключей в массиве URL.
-
_writeRoute() protected
Построение регулярного выражения маршрута.
-
_writeUrl() protected
Преобразование соответствующего массива маршрута в строку URL.
-
compile() public
Компилирует регулярное выражение маршрута.
-
compiled() public
Проверка, был ли маршрут скомпилирован в регулярное выражение.
-
getExtensions() public
Получение поддерживаемых расширений для этого маршрута.
-
getMiddleware() public
Получение имен промежуточного ПО, которое должно быть применено к этому маршруту.
-
getName() public
Получение стандартизованного имени plugin.controller:action для маршрута.
-
hostMatches() public
Проверка соответствия хоста требованиям маршрута
-
match() public
Подчеркивает префикс, контроллер и параметры плагина перед передачей их в родительский класс
-
normalizeAndValidateMethods() protected
Нормализация имен методов в верхний регистр и проверка того, что они являются допустимыми HTTP-методами.
-
parse() public
Разбор строкового URL в массив. В случае совпадения префикс, контроллер и ключи плагина будут преобразованы в их верблюжью форму.
-
parseRequest() public
Проверка возможности анализа данного URL этим маршрутом.
-
setExtensions() public
Установка поддерживаемых расширений для этого маршрута.
-
setHost() public
Установка требования к хосту
-
setMethods() public
Установка принимаемых HTTP-методов для этого маршрута.
-
setMiddleware() public
Установка имен промежуточного ПО, которое должно быть применено к этому маршруту.
-
setPass() public
Установка имен параметров, которые будут преобразованы в переданные параметры
-
setPatterns() public
Установка шаблонов regexp для параметров маршрутизации
-
setPersist() public
Установка имен параметров, которые будут автоматически сохраняться
-
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 optional Значения по умолчанию для маршрута.
-
array$options optional Массив дополнительных параметров для маршрута
Исключения
InvalidArgumentExceptionКогда `$options['_method']` не находятся в списке `VALID_METHODS`.
__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, если значение $val заданного именованного параметра $param соответствует заданному правилу $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_underscore() protected
_underscore(array $url): array
Вспомогательный метод для подчеркивания ключей в массиве URL.
Параметры
-
array$url Массив ключей URL.
Возвращаемое значение
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 optional Дополнительные переданные аргументы
-
array$query optional Массив параметров
Возвращаемое значение
stringcompile() public
compile(): string
Компилирует регулярное выражение маршрута.
Модифицирует свойство defaults, чтобы все необходимые ключи были установлены, и заполняет $this->names именованными элементами маршрутизации.
Возвращаемое значение
stringcompiled() public
compiled(): bool
Проверяет, был ли маршрут скомпилирован в регулярное выражение.
Возвращаемое значение
boolgetExtensions() public
getExtensions(): string[]
Получает поддерживаемые расширения для этого маршрута.
Возвращаемое значение
string[]getMiddleware() public
getMiddleware(): array
Получает имена промежуточного программного обеспечения, которое должно быть применено к этому маршруту.
Возвращаемое значение
arraygetName() public
getName(): string
Получает стандартизованное имя plugin.controller:action для маршрута.
Возвращаемое значение
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 optional Массив текущего контекста запроса. Содержит информацию, такую как текущий хост, схема, порт и базовый каталог.
Возвращаемое значение
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 в массив. Если он соответствует, он преобразует ключи префикса, контроллера и плагина в их верблюжью форму.
Если маршрут может быть разобран, будет возвращен массив параметров; в противном случае будет возвращено false. Строковые URL-адреса разбираются, если они соответствуют регулярному выражению маршрутов.
Параметры
-
string$url URL для анализа
-
string$method optional Соответствующий метод HTTP.
Возвращаемое значение
array|nullparseRequest() public
parseRequest(Psr\Http\Message\ServerRequestInterface $request): array|null
Проверяет, может ли данный URL быть разобран этим маршрутом.
Если маршрут может быть разобран, будет возвращен массив параметров; в противном случае будет возвращено значение false.
Parameters
-
Psr\Http\Message\ServerRequestInterface$request URL, который нужно попытаться разобрать.
Returns
array|nullsetExtensions() public
setExtensions(string[] $extensions): $this
Устанавливает поддерживаемые расширения для этого маршрута.
Parameters
-
string[]$extensions Расширения для установки.
Returns
$thissetHost() public
setHost(string $host): $this
Установить требование к хосту
Parameters
-
string$host Имя хоста, к которому привязан этот маршрут
Returns
$thissetMethods() public
setMethods(string[] $methods): $this
Устанавливает принимаемые HTTP-методы для этого маршрута.
Parameters
-
string[]$methods HTTP-методы для принятия.
Returns
$thisThrows
InvalidArgumentExceptionКогда методы не входят в список `VALID_METHODS`.
setMiddleware() public
setMiddleware(array $middleware): $this
Устанавливает имена промежуточного ПО, которое должно применяться к этому маршруту.
Parameters
-
array$middleware Список имен промежуточного ПО, которые нужно применить к этому маршруту. Имена промежуточного ПО не будут проверяться до тех пор, пока маршрут не будет сопоставлен.
Returns
$thissetPass() public
setPass(string[] $names): $this
Устанавливает имена параметров, которые будут преобразованы в переданные параметры
Parameters
-
string[]$names Имена параметров, которые должны быть переданы.
Returns
$thissetPatterns() public
setPatterns(string[] $patterns): $this
Установить шаблоны regexp для параметров маршрутизации
Если любой из ваших шаблонов содержит многобайтовые значения, будет включен режим multibytePattern.
Parameters
-
string[]$patterns Шаблоны для применения к элементам маршрутизации
Returns
$thissetPersist() public
setPersist(array $names): $this
Устанавливает имена параметров, которые будут автоматически сохраняться
Постоянные параметры позволяют определить, какие параметры маршрута должны автоматически включаться при генерации новых URL-адресов. Вы можете переопределить постоянные параметры, переопределив их в URL-адресе, или удалить их, установив постоянный параметр в false.
// remove a persistent 'date' parameter Router::url(['date' => false', ...]);
Parameters
-
array$names Имена параметров, которые должны быть переданы.
Returns
$thisstaticPath() public
staticPath(): string
Получить статическую часть пути для этого маршрута.
Returns
stringКраткое описание свойств
$_compiledRoute protected
Скомпилированное регулярное выражение маршрута
Type
string|null$_extensions protected
Список подключенных расширений для этого маршрута.
Type
string[]$_greedy protected
Является ли этот маршрут жадным? Жадные маршруты имеют /* в своем шаблоне
Type
bool$_inflectedDefaults protected
Флаг для отслеживания того, были ли изменены значения по умолчанию.
Значения по умолчанию должны быть изменены, чтобы они соответствовали изменениям, которые создаст match().
Type
bool$_name protected
Имя маршрута. Получить с помощью Route::getName();
Type
string|null$braceKeys protected
Отслеживание того, использовались ли ключи фигурных скобок {var}.
Type
bool$defaults public
Параметры по умолчанию для маршрута
Type
array$keys public
Массив именованных сегментов в маршруте. /{controller}/{action}/{id} имеет 3 ключевых элемента
Type
array$middleware protected
Список промежуточного ПО, которое должно применяться.
Type
array$options public
Массив дополнительных параметров для маршрута.
Type
array$template public
Строка шаблона маршрутов.
Type
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.InflectedRoute.html