Spec-Zone.ru › CakePHP 4.3

Класс DashedRoute

Этот класс маршрута прозрачно изменяет параметры маршрутизации контроллера, действия и плагина, так что запрос /my-plugin/my-controller/my-action анализируется как ['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']

Пространство имён: 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

    Является ли этот маршрут жадным? Жадные маршруты имеют /* в своём шаблоне

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

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

  • _camelizePlugin() protected

    Преобразует ранее преобразованный маршрут плагина в верблюжью нотацию с учётом поставщиков плагинов

  • _dasherize() protected

    Вспомогательный метод для преобразования ключей в URL-массиве в дефисную нотацию.

  • _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 в массив. Если совпадает, преобразует ключи контроллера и плагина в верблюжью нотацию, а ключ действия — в верблюжью нотацию.

  • parseRequest() public

    Проверка возможности анализа данного URL этим маршрутом.

  • setExtensions() public

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

  • setHost() public

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

  • setMethods() public

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

  • setMiddleware() public

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

  • setPass() public

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

  • setPatterns() public

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

  • setPersist() public

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

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

Значения по умолчанию для маршрута.

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

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

Исключения

InvalidArgumentException
При `$options['_method']` не в списке `VALID_METHODS`.

__set_state() public static

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

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

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

Параметры

array<string, mixed> $fields

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

Возвращает

static

_camelizePlugin() защищённый

_camelizePlugin(string $plugin): string

Приводит имя ранее разделенного плагина маршрута к верблюжьему регистру, учитывая поставщиков плагинов

Параметры

string $plugin

Имя плагина

Возвращает

string

_dasherize() защищённый

_dasherize(array $url): array

Вспомогательный метод для преобразования ключей в массиве URL в дефисный регистр.

Параметры

array $url

Массив ключей URL.

Возвращает

array

_matchMethod() защищённый

_matchMethod(array $url): bool

Проверяет, соответствует ли HTTP-метод URL.

Параметры

array $url

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

Возвращает

bool

_parseArgs() защищённый

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

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

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

Параметры

string $args

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

array $context

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

Возвращает

array<string>

_parseExtension() защищённый

_parseExtension(string $url): array

Удаляет расширение из $url, если он содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, и URL возвращается без изменений.

Параметры

string $url

Парсируемый URL.

Возвращает

array

_persistParams() защищённый

_persistParams(array $url, array $params): array

Применяет постоянные параметры к массиву URL. Постоянные параметры — это специальный ключ, используемый во время создания маршрута, чтобы принудительно сохранить параметры маршрута при их отсутствии в массиве URL.

Параметры

array $url

Массив, к которому применяются постоянные параметры.

array $params

Массив постоянных значений для замены постоянных значений.

Возвращает

array

_writeRoute() защищённый

_writeRoute(): void

Создаёт регулярное выражение для маршрута.

Использует свойства template, defaults и options для компиляции регулярного выражения, которое может быть использовано для разбора строк запроса.

Возвращает

void

_writeUrl() защищённый

_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

Получить стандартное имя плагина.контроллер:действие для маршрута.

Возвращает

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() защищённый

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 в массив. Если совпадает, он преобразует ключи контроллера и плагина в их форму CamelCase, а ключ действия — в camelBacked.

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

Параметры

string $url

URL для разбора

string $method optional

Метод HTTP.

Возвращает

array|null

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

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

Параметры

array $middleware

Список имён middleware для применения к этому маршруту. Имена 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

staticPath() public

staticPath(): string

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

Возвращает

string

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

$_compiledRoute protected

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

Тип

string|null

$_extensions protected

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

Тип

array<string>

$_greedy protected

Является ли этот маршрут жадным? Жадные маршруты содержат /* в своём шаблоне

Тип

bool

$_inflectedDefaults protected

Флаг для отслеживания того, были ли значения по умолчанию склонены.

Значения по умолчанию должны быть склонены так, чтобы они соответствовали склонениям, которые создаст match().

Тип

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

$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.3/class-Cake.Routing.Route.DashedRoute.html

Spec-Zone.ru

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