Класс Route
Один маршрут, используемый маршрутизатором для подключения запросов к параметрам.
Обычно не создается как самостоятельный. Используйте Router::connect() для создания маршрутов для вашего приложения.
Прямые подклассы
Косвенные подклассы
Краткое описание констант
-
array['GET','PUT','POST','PATCH','DELETE','OPTIONS','HEAD']
Краткое описание свойств
-
$_compiledRouteprotectedКомпилированное регулярное выражение маршрутаstring|null -
$_extensionsprotectedСписок подключенных расширений для данного маршрута.array -
$_greedyprotectedbooleanЯвляется ли этот маршрут жадным? Жадные маршруты имеют
/*в своем шаблоне -
$_nameprotectedИмя маршрута. Получить с помощью Route::getName();string|null -
$defaultspublicПараметры по умолчанию для маршрутаarray -
$keyspublicarrayМассив именованных сегментов в маршруте.
/:controller/:action/:idимеет 3 ключевых элемента -
$middlewareprotectedСписок мидлверов, которые должны быть применены.array -
$optionspublicМассив дополнительных параметров для маршрута.array -
$templatepublicСтрока шаблона маршрута.string|null
Краткое описание методов
- __construct() publicКонструктор маршрута
- Магический метод установки состояния для поддержки 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Проверка, был ли маршрут скомпилирован в регулярное выражение.
- extensions() publicПолучить/Установить поддерживаемые расширения для этого маршрута.
- getExtensions() publicПолучить поддерживаемые расширения для данного маршрута.
- getMiddleware() publicПолучить имена мидлверов, которые должны быть применены к этому маршруту.
- getName() publicПолучить стандартное имя plugin.controller:action для маршрута.
- hostMatches() publicПроверка соответствия имени хоста требованиям маршрута
- match() publicПроверка соответствия массива URL экземпляру этого маршрута.
- parse() publicПроверка возможности парсинга данного URL этим маршрутом.
- parseRequest() publicПроверка возможности парсинга данного URL этим маршрутом.
- setExtensions() publicУстановить поддерживаемые расширения для этого маршрута.
- setHost() publicУстановить требование к хосту
- setMethods() publicУстановить допустимые HTTP-методы для данного маршрута.
- setMiddleware() publicУстановить имена мидлверов, которые должны быть применены к данному маршруту.
- setPass() publicУстановить имена параметров, которые будут преобразованы в переданные параметры
- setPatterns() publicУстановить регулярные выражения для параметров маршрутизации
- setPersist() publicУстановить имена параметров, которые будут автоматически сохранены
- staticPath() publicПолучить статическую часть пути для данного маршрута.
Подробное описание методов
__construct()source public
__construct( string $template , array|string $defaults [] , array $options [] )
Конструктор маршрута
Параметры
-
_ext- Определяет расширения, используемые для данного маршрута. -
_middleware- Определить имена мидлверов для этого маршрута. -
pass- Копирует перечисленные параметры в params['pass']. -
_host- Определить шаблон имени хоста, если вы хотите, чтобы этот маршрут соответствовал только определённым именам хостов. Вы можете использовать.*и для создания поддоменных/хостовых шаблонов подстановок, например*.example.comсоответствует всем поддоменам наexample.com.
Параметры
- string
$template - Шаблонная строка с заполнительми для параметров
- array|string
$defaultsoptional [] - Значения по умолчанию для маршрута.
- array
$optionsoptional [] - Массив дополнительных опций для маршрута
__set_state()source public static
__set_state( array $fields )
Магический метод установки состояния для поддержки var_export
Этот метод полезен для приложений, которые хотят реализовать кэширование маршрутизатора.
Параметры
- array
$fields - Ключ/Значение атрибутов объекта
Возвращает
Cake\Routing\Route\RouteНовый экземпляр маршрута
_matchMethod()source protected
_matchMethod( array $url )
Проверка соответствия HTTP-метода URL.
Параметры
- array
$url - Массив для генерируемого URL.
Возвращает
boolean_parseArgs()source protected
_parseArgs( string $args , string $context )
Разбирает переданные параметры в список аргументов.
Возвращает true, если заданное значение параметра $param соответствует заданному правилу $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 именованными элементами маршрутизации.
Возвращает
строкаВозвращает строку регулярного выражения скомпилированного маршрута.
compiled()source public
compiled( )
Проверяет, был ли маршрут скомпилирован в регулярное выражение.
Возвращает
булевоextensions()source public
extensions( null|string|array $extensions null )
Получить/установить поддерживаемые расширения для этого маршрута.
Устарело
3.3.9 Используйте getExtensions/setExtensions вместо этого.Параметры
- null|строка|массив
$extensionsнеобязательно null - Расширения для установки. Используйте null для получения.
Возвращает
массив|nullРасширения или null.
getExtensions()source public
getExtensions( )
Получить поддерживаемые расширения для этого маршрута.
Возвращает
массивgetMiddleware()source public
getMiddleware( )
Получить имена middleware, которые должны быть применены к этому маршруту.
Возвращает
массивgetName()source public
getName( )
Получить стандартизованное имя plugin.controller:action для маршрута.
Возвращает
строкаhostMatches()source public
hostMatches( string $host )
Проверить, соответствует ли хост требованиям маршрута
Параметры
- строка
$host - Имя хоста запроса
Возвращает
булевоСоответствует ли хост условиям, установленным для этого маршрута.
match()source public
match( array $url , array $context [] )
Проверить, соответствует ли массив URL этому экземпляру маршрута.
Если URL соответствует параметрам и настройкам маршрута, возвращается сгенерированный строковый URL. Если URL не соответствует параметрам маршрута, возвращается false. Этот метод обрабатывает обратную маршрутизацию или преобразование массивов URL в строковые URL.
Параметры
- массив
$url - Массив параметров для проверки соответствия.
- массив
$contextнеобязательно [] Массив текущего контекста запроса. Содержит информацию, такую как текущий хост, схема, порт, базовый каталог и другие параметры url.
Возвращает
строка|falseСтроковый URL параметров, если они совпадают, или false в случае неудачи.
parse()source public
parse( string $url , string $method '' )
Проверяет, можно ли разобрать данный URL с помощью этого маршрута.
Если маршрут можно разобрать, будет возвращён массив параметров; в противном случае — false. Строковые URL разбираются, если они соответствуют регулярному выражению маршрута.
Устарело
3.4.0 Используйте/реализуйте parseRequest() вместо этого, так как он предоставляет большую гибкость и контроль.Параметры
- строка
$url - URL для попытки разбора.
- строка
$methodнеобязательно '' - Метод HTTP запроса, который разбирается.
Возвращает
массив|falseМассив параметров запроса или false при ошибке.
parseRequest()source public
parseRequest( Psr\Http\Message\ServerRequestInterface $request )
Проверяет, можно ли разобрать данный URL с помощью этого маршрута.
Если маршрут можно разобрать, будет возвращён массив параметров; в противном случае — false.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - URL для попытки разбора.
Возвращает
массив|falseМассив параметров запроса или false при ошибке.
setExtensions()source public
setExtensions( array $extensions )
Установить поддерживаемые расширения для этого маршрута.
Параметры
- массив
$extensions - Расширения для установки.
Возвращает
$this
setHost()source public
setHost( string $host )
Установить требование к хосту
Параметры
- строка
$host - Имя хоста, к которому привязан этот маршрут
Возвращает
$this
setMethods()source public
setMethods( array $methods )
Установить допустимые методы HTTP для этого маршрута.
Параметры
- массив
$methods - Методы HTTP для принятия.
Возвращает
$this
Выбрасывает
InvalidArgumentExceptionsetMiddleware()source public
setMiddleware( array $middleware )
Установите имена middleware, которые должны применяться к этому маршруту.
Параметры
- массив
$middleware Список имён middleware, которые нужно применить к этому маршруту. Имена middleware будут проверены только при совпадении маршрута.
Возвращает
$this
setPass()source public
setPass( array $names )
Установите имена параметров, которые будут преобразованы в параметры, передаваемые в обработчик.
Параметры
- массив
$names - Имена параметров, которые должны быть переданы.
Возвращает
$this
setPatterns()source public
setPatterns( array $patterns )
Установите регулярные выражения для параметров маршрутизации.
Если какие-либо из ваших шаблонов содержат многобайтовые значения, режим multibytePattern будет включён.
Параметры
- массив
$patterns - Шаблоны, которые нужно применить к элементам маршрутизации
Возвращает
$this
setPersist()source public
setPersist( array $names )
Установите имена параметров, которые будут автоматически сохранены.
Сохраняемые параметры позволяют определять, какие параметры маршрута должны автоматически включаться при генерации новых URL-адресов. Вы можете переопределить сохраняемые параметры, переопределяя их в URL-адресе, или удалить их, установив сохраняемый параметр в false.
// remove a persistent 'date' parameter Router::url(['date' => false', ...]);
Параметры
- массив
$names - Имена параметров, которые должны быть переданы.
Возвращает
$this
staticPath()source public
staticPath( )
Получить статическую часть пути для этого маршрута.
Возвращает
строкаПодробное описание свойств
$_greedysource
protected boolean
Является ли этот маршрут жадным маршрутом? Жадные маршруты содержат /* в своем шаблоне.
false
$keyssource
public массив
Массив именованных сегментов в маршруте. /:controller/:action/:id имеет 3 ключевых элемента.
[]
© 2005–2018 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.5/class-Cake.Routing.Route.Route.html