Класс DashedRoute
Этот класс маршрута прозрачно склоняет параметры маршрутизации контроллера, действия и плагина, так что запрос /my-plugin/my-controller/my-action анализируется как ['plugin' => 'MyPlugin', 'controller' => 'MyController', 'action' => 'myAction']
- Cake\Routing\Route\Route
-
Cake\Routing\Route\DashedRoute
Наследуемые константы
Резюме свойств
-
$_inflectedDefaultsprotectedФлаг для отслеживания того, были ли значения по умолчанию склонены.boolean
Наследуемые свойства
Резюме методов
- _camelizePlugin() protectedПреобразует ранее преобразованный в дефисы маршрут плагина, учитывая поставщиков плагинов
- _dasherize() protectedВспомогательный метод для преобразования ключей в массиве URL в дефисы.
- match() public
Преобразует контроллер, действие и параметры плагина в дефисы перед передачей их в родительский класс.
- parse() public
Парсит строчный URL в массив. Если он соответствует, он преобразует ключи контроллера и плагина в их версию CamelCase, а ключ действия - в camelBack.
Подробное описание методов
_camelizePlugin()source protected
_camelizePlugin( string $plugin )
Преобразует ранее преобразованный в дефисы маршрут плагина, учитывая поставщиков плагинов
Параметры
- строка
$plugin - Имя плагина
Возвращает
строка_dasherize()source protected
_dasherize( array $url )
Вспомогательный метод для преобразования ключей в массиве URL в дефисы.
Параметры
- массив
$url - Массив ключей URL.
Возвращает
массивmatch()source public
match( array $url , array $context [] )
Преобразует контроллер, действие и параметры плагина в дефисы перед передачей их в родительский класс.
Параметры
- массив
$url - Массив параметров, которые нужно преобразовать в строку.
- массив
$contextнеобязательно [] Массив текущего контекста запроса. Содержит информацию, такую как текущий хост, схему, порт и базовый каталог.
Возвращает
boolean|строкаЛибо false, либо строковый URL.
Переопределяет
Cake\Routing\Route\Route::match() parse()source public
parse( string $url , string $method '' )
Парсит строчный URL в массив. Если он соответствует, он преобразует ключи контроллера и плагина в их версию CamelCase, а ключ действия - в camelBack.
Параметры
- строка
$url - URL для парсинга
- строка
$methodнеобязательно '' - HTTP-метод.
Возвращает
массив|falseМассив параметров запроса или false при ошибке.
Переопределяет
Cake\Routing\Route\Route::parse() Методы, унаследованные от Cake\Routing\Route\Route
__construct()source public
__construct( string $template , array|string $defaults [] , array $options [] )
Конструктор маршрута
Параметры
-
_ext- Определяет расширения, используемые для этого маршрута. -
_middleware- Определяет имена middleware для этого маршрута. -
pass- Копирует указанные параметры в params['pass']. -
_host- Определяет шаблон имени хоста, если этот маршрут должен соответствовать только определённым именам хостов. Вы можете использовать.*и для создания поддоменов/хостов с подстановкой, например*.example.comсоответствует всем поддоменам наexample.com.
Параметры
- строка
$template - Шаблонная строка с заменителями параметров
- массив|строка
$defaultsнеобязательно [] - Значения по умолчанию для маршрута.
- массив
$optionsнеобязательно [] - Массив дополнительных опций для маршрута
__set_state()source public static
__set_state( array $fields )
Магический метод установки состояния для поддержки var_export
Этот метод помогает приложениям, которые хотят реализовать кэширование маршрутизатора.
Параметры
- массив
$fields - Ключ/Значение атрибутов объекта
Возвращает
Cake\Routing\Route\RouteНовый экземпляр маршрута
_matchMethod()source protected
_matchMethod( array $url )
Проверяет, соответствует ли HTTP-метод URL.
Параметры
- массив
$url - Массив для генерируемого URL.
Возвращает
boolean_parseArgs()source protected
_parseArgs( string $args , string $context )
Парсит переданные параметры в список переданных аргументов.
Возвращает true, если переданное именованное $param's $val соответствует заданному $rule в зависимости от $context. В настоящее время реализованы типы правил controller, action и match, которые могут комбинироваться друг с другом.
Параметры
- строка
$args - Строка с переданными параметрами. Например, /1/foo
- строка
$context - Текущий контекст маршрута, который должен содержать ключи controller/action.
Возвращает
массивМассив переданных аргументов.
_parseExtension()source protected
_parseExtension( string $url )
Удаляет расширение из $url, если оно содержит зарегистрированное расширение. Если зарегистрированное расширение не найдено, расширение не возвращается, и URL возвращается без изменений.
Параметры
- строка
$url - URL для парсинга.
Возвращает
массивсодержащий url, расширение
_persistParams()source protected
_persistParams( array $url , array $params )
Применяет постоянные параметры к массиву URL. Постоянные параметры — это специальный ключ, используемый при создании маршрута, для принудительной сохранения параметров маршрута при их отсутствии в массиве URL.
Параметры
- массив
$url - Массив, к которому применяются постоянные параметры.
- массив
$params - Массив постоянных значений для замены постоянных.
Возвращает
массивМассив с применёнными постоянными параметрами.
_writeRoute()source protected
_writeRoute( )
Строит регулярное выражение для маршрута.
Использует свойства template, defaults и options для компиляции регулярного выражения, которое можно использовать для разбора строк запроса.
_writeUrl()source protected
_writeUrl( array $params , array $pass [] , array $query [] )
Преобразует сопоставленный массив маршрута в строку URL.
Создаёт строковый URL, используя шаблон, использованный для создания маршрута.
Параметры
- массив
$params - Параметры для преобразования в строку url
- массив
$passнеобязательно [] - Дополнительные переданные аргументы
- массив
$queryнеобязательно [] - Массив параметров
Возвращает
строкаСгенерированная строка маршрута.
compile()source public
compile( )
Компилирует регулярное выражение маршрута.
Изменяет свойство defaults, чтобы все необходимые ключи были установлены, и заполняет $this->names именованными элементами маршрутизации.
Возвращает
stringВозвращает строковое регулярное выражение скомпилированного маршрута.
compiled()source public
compiled( )
Проверяет, был ли маршрут скомпилирован в регулярное выражение.
Возвращает
booleanextensions()source public
extensions( null|string|array $extensions null )
Получить/установить поддерживаемые расширения для этого маршрута.
Устарело
3.3.9 Используйте getExtensions/setExtensions вместо этого.Параметры
- null|string|array
$extensionsнеобязательно null - Расширения для установки. Используйте null для получения.
Возвращает
array|nullРасширения или null.
getExtensions()source public
getExtensions( )
Получить поддерживаемые расширения для этого маршрута.
Возвращает
arraygetMiddleware()source public
getMiddleware( )
Получить имена middleware, которые должны быть применены к этому маршруту.
Возвращает
arraygetName()source public
getName( )
Получить стандартное имя plugin.controller:action для маршрута.
Возвращает
stringhostMatches()source public
hostMatches( string $host )
Проверить, соответствует ли хост требованиям маршрута.
Параметры
- string
$host - Имя хоста запроса
Возвращает
booleanСоответствует ли хост условиям, заданным для этого маршрута.
parseRequest()source public
parseRequest( Psr\Http\Message\ServerRequestInterface $request )
Проверяет, может ли данный URL быть проанализирован этим маршрутом.
Если маршрут может быть проанализирован, возвращается массив параметров; если нет, возвращается false.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - URL для попытки анализа.
Возвращает
array|falseМассив параметров запроса или false при ошибке.
setExtensions()source public
setExtensions( array $extensions )
Установить поддерживаемые расширения для этого маршрута.
Параметры
- array
$extensions - Расширения для установки.
Возвращает
$this
setHost()source public
setHost( string $host )
Установить требования к хосту
Параметры
- string
$host - Имя хоста, к которому привязан этот маршрут
Возвращает
$this
setMethods()source public
setMethods( array $methods )
Установить допустимые HTTP-методы для этого маршрута.
Параметры
- array
$methods - HTTP-методы для принятия.
Возвращает
$this
Исключения
InvalidArgumentExceptionsetMiddleware()source public
setMiddleware( array $middleware )
Установить имена middleware, которые должны быть применены к этому маршруту.
Параметры
- array
$middleware Список имён middleware, которые нужно применить к этому маршруту. Имена middleware не будут проверяться до тех пор, пока маршрут не будет сопоставлен.
Возвращает
$this
setPass()source public
setPass( array $names )
Установить имена параметров, которые будут преобразованы в параметры передачи.
Параметры
- array
$names - Имена параметров, которые должны быть переданы.
Возвращает
$this
setPatterns()source public
setPatterns( array $patterns )
Установить шаблоны регулярных выражений для параметров маршрутизации
Если какие-либо из ваших шаблонов содержат многобайтовые значения, режим multibytePattern будет включён.
Параметры
- array
$patterns - Шаблоны, применяемые к элементам маршрутизации
Возвращает
$this
setPersist()source public
setPersist( array $names )
Установить имена параметров, которые будут автоматически сохранены.
Параметры сохранения позволяют определить, какие параметры маршрута должны быть автоматически включены при создании новых URL-адресов. Вы можете переопределить параметры сохранения, переопределяя их в URL-адресе, или удалить их, установив параметр сохранения в значение false.
// remove a persistent 'date' parameter Router::url(['date' => false', ...]);
Параметры
- array
$names - Имена параметров, которые должны быть переданы.
Возвращает
$this
staticPath()source public
staticPath( )
Получить статическую часть пути для этого маршрута.
Возвращает
stringПодробное описание свойств
$_inflectedDefaultssource
protected boolean
Флаг, указывающий, были ли значения по умолчанию склонены.
Значения по умолчанию необходимо склонять, чтобы они соответствовали склонениям, которые создаст match().
false
© 2005–2017 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/3.4/class-Cake.Routing.Route.DashedRoute.html