Класс Router
Парсит URL запроса для определения контроллера, действия и параметров. Использует подключенные маршруты для сопоставления входящей строки URL с параметрами, которые позволят обработать запрос. Также обрабатывает преобразование списков параметров в строки URL, используя подключенные маршруты. Маршрутизация позволяет отделить способ взаимодействия мира с вашим приложением (URL) от реализации (контроллеры и действия).
Подключение маршрутов
Подключение маршрутов выполняется с помощью Router::connect(). При парсинге входящих запросов или обратном соответствии параметров маршруты перечисляются в том порядке, в котором они были подключены. Для получения дополнительной информации о маршрутах и способах их подключения см. Router::connect().
Краткое описание констант
-
string'index|show|add|create|edit|update|remove|del|delete|view|item' -
string'0[1-9]|[12][0-9]|3[01]' -
string'[0-9]+' -
string'0[1-9]|1[012]' -
string'[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}' -
string'[12][0-9]{3}'
Краткое описание свойств
- Коллекция маршрутов, в которую будут добавлены маршруты.
Cake\Routing\RouteCollection - Определенные по умолчанию расширения с помощью Router::extensions()
array - Класс маршрута по умолчанию.
string -
stringСодержит базовую строку, которая будет применяться ко всем сгенерированным URL. Например
https://example.com -
arrayНачальное состояние заполняется в первый раз при вызове reload(), что находится в нижней части этого файла. Это хитрость, так как get_class_vars() возвращает значение статических переменных, даже если они изменились.
- Именованные выражения
array - Хэш данных контекста запроса.
array -
arrayПоддерживает стек объектов запроса для текущего запроса. Это будет содержать более одного объекта запроса, когда используется requestAction.
-
callable[]Стек фильтров URL, которые применяются к маршрутам URL перед передачей параметров в коллекцию маршрутов.
- Были ли загружены маршруты
boolean
Краткое описание методов
- Применяет все подключенные фильтры URL к URL.
- Загружает конфигурацию маршрутов
- Добавляет фильтр URL в маршрутизатор.
- Подключает новый маршрут в маршрутизатор.
- Создаёт RouteBuilder для указанного пути.
- Получение или установка класса по умолчанию для маршрутов.
- Получение или установка допустимых расширений для всех маршрутов, подключенных позже.
-
Устанавливает полный базовый URL, который будет использоваться в качестве префикса для генерации полных URL-адресов для этого приложения. Если параметры не переданы, возвращается текущее значение конфигурации.
- Получение именованных шаблонов маршрутов для использования в config/routes.php
- Получение текущего объекта запроса или первого объекта.
- Получение RouteCollection внутри Router
- Генерация маршрутов REST-ресурсов для заданного(ых) контроллера(ов).
- Нормализует URL в целях сравнения.
- Парсинг строки URL. Возвращает параметры «routing» для этого URL.
- Обеспечивает обратную совместимость с именованными параметрами входящих URL.
- Получение параметров маршрутизации для запроса, если это возможно.
- Добавление маршрутов плагинов.
- Извлекает запрос из стека запросов. Используется при выполнении requestAction
- Создание префиксных маршрутов.
-
Добавляет запрос в стек запросов. Добавление запроса устанавливает контекст запроса, используемый при генерации URL-адресов.
- Подключает новый перенаправляющий маршрут в маршрутизатор.
-
Перезагружает настройки маршрутизатора по умолчанию. Сбрасывает все переменные класса и удаляет все подключенные маршруты.
- Обратное преобразование массива параметров в строку.
- Обратное преобразование массива параметров в массив.
- Получение областей маршрутов и их подключенных маршрутов.
- Создание области маршрутизации.
- Хранение контекста запроса для заданного запроса.
-
Принимает информацию о параметрах и пути от диспетчера, устанавливает эти параметры в качестве текущих параметров запроса, которые объединяются с массивами URL, созданными позже в запросе.
- Поиск URL для указанного действия.
Подробное описание методов
_applyUrlFilters()source protected static
_applyUrlFilters( array $url )
Применяет все подключенные фильтры URL к URL.
Параметры
- массив
$url - Массив URL, который изменяется.
Возвращает
массивИзменённый URL.
См. также
\Cake\Routing\Router::url()\Cake\Routing\Router::addUrlFilter()
_loadRoutes()source protected static
_loadRoutes( )
Загружает конфигурацию маршрутов
Устарело
3.5.0 Маршруты будут загружаться через хук Application::routes() в 4.0.0addUrlFilter()source public static
addUrlFilter( callable $function )
Добавляет фильтр URL в Router.
Функции фильтров URL применяются к каждому массиву $url, предоставленному Router::url(), перед отправкой URL в коллекцию маршрутов.
Функции обратного вызова должны ожидать следующих параметров:
-
$paramsОбрабатываемые параметры URL. -
$requestТекущий запрос.
Функция фильтра URL всегда должна возвращать параметры, даже если они не изменены.
Использование
Фильтры URL позволяют легко реализовать такие функции, как сохранение параметров.
Router::addUrlFilter(function ($params, $request) {
if ($request->getParam('lang') && !isset($params['lang'])) {
$params['lang'] = $request->getParam('lang');
}
return $params;
}); Параметры
- вызов
$function - Функция для добавления
connect()source public static
connect( string $route , array $defaults [] , array $options [] )
Подключает новый маршрут в маршрутизатор.
Провайдер совместимости для \Cake\Routing\RouteBuilder::connect() в области /.
Параметры
- строка
$route - Строка, описывающая шаблон маршрута
- массив
$defaultsoptional [] Массив, описывающий параметры маршрута по умолчанию. Эти параметры будут использоваться по умолчанию и могут предоставлять параметры маршрутизации, которые не являются динамическими. См. выше.
- массив
$optionsoptional [] Массив, сопоставляющий именованные элементы в маршруте с регулярными выражениями, которым должен соответствовать этот элемент. Также содержит дополнительные параметры, такие как параметры маршрутизации, которые должны быть перемещены в переданные аргументы, шаблоны для параметров маршрутизации и имя пользовательского класса маршрутизации.
Исключения
Cake\Core\Exception\ExceptionСм. также
\Cake\Routing\RouteBuilder::connect()\Cake\Routing\Router::scope()
createRouteBuilder()source public static
createRouteBuilder( string $path , array $options [] )
Создаёт RouteBuilder для указанного пути.
Параметры
- строка
$path - Путь, для которого задаётся билдер.
- массив
$optionsoptional [] - Параметры билдера
Возвращает
Cake\Routing\RouteBuilderdefaultRouteClass()source public static
defaultRouteClass( string|null $routeClass null )
Получение или установка класса по умолчанию для маршрутов.
Параметры
- строка|null
$routeClassoptional null - Имя класса.
Возвращает
строка|nullextensions()source public static
extensions( array|string|null $extensions null , boolean $merge true )
Получить или установить допустимые расширения для всех маршрутов, подключенных позже.
Инструктирует маршрутизатор извлекать расширения файлов из URL. Например, http://example.com/posts.rss даст расширение файла "rss". Само расширение файла доступно в контроллере как $this->request->getParam('_ext'), и используется компонентом RequestHandler для автоматической переключения на альтернативные макеты и шаблоны, а также для загрузки помощников, соответствующих заданному содержимому, например, RssHelper. Для переключения макетов и помощников необходимо, чтобы выбранное расширение имело определённый MIME-тип в Cake\Http\Response.
В этот метод можно передать строку или массив допустимых расширений. Если метод вызван без параметров, он вернёт текущий список установленных расширений.
Параметры
- array|string|null
$extensionsнеобязательный null - Список расширений, которые нужно добавить.
- boolean
$mergeнеобязательный true Присоединить к существующим или перезаписать существующие расширения. По умолчанию
true.
Возвращает
arrayМассив расширений, с которыми настроен маршрутизатор.
fullBaseUrl()source public static
fullBaseUrl( string|null $base null )
Устанавливает полный базовый URL, который будет использоваться в качестве префикса для генерации полных URL для этого приложения. Если параметры не переданы, возвращается текущее значение конфигурации.
Примечание:
Если вы изменяете значение конфигурации App.fullBaseUrl во время выполнения и ожидаете, что маршрутизатор будет генерировать ссылки, используя новое значение, вам необходимо снова вызвать этот метод, передавая такое значение.
Параметры
- string|null
$baseнеобязательный null Префикс для URL, генерируемых и содержащих домен. Например:
http://example.com
Возвращает
stringgetNamedExpressions()source public static
getNamedExpressions( )
Получает имена шаблонов маршрутов для использования в config/routes.php
Возвращает
arrayЭлементы имени маршрута
См. также
\Cake\Routing\Router::$_namedExpressionsgetRequest()source public static
getRequest( boolean $current false )
Получить текущий объект запроса или первый.
Параметры
- boolean
$currentнеобязательный false - True для получения текущего запроса, или false для получения первого.
Возвращает
Cake\Http\ServerRequest|nullgetRouteCollection()source public static
getRouteCollection( )
Получить RouteCollection внутри Router
Возвращает
Cake\Routing\RouteCollectionmapResources()source public static
mapResources( string|array $controller , array $options [] )
Создать маршруты REST-ресурсов для заданного(ых) контроллера(ов).
Прокси-метод совместимости для \Cake\Routing\RouteBuilder::resources(). Дополнительная совместимость вокруг префиксов и плагинов и префиксов обрабатывается этим методом.
Быстрый способ генерации стандартных маршрутов для набора REST-ресурсов (контроллера(ов)).
Использование
Подключение маршрутов ресурсов для контроллера приложения:
Router::mapResources('Posts'); Подключение маршрутов ресурсов для контроллера Comment в плагине Comments:
Router::mapResources('Comments.Comment'); Плагины создают маршруты ресурсов с нижним регистром и подчеркиванием. Например /comments/comment
Подключение маршрутов ресурсов для контроллера Posts в префиксе Admin:
Router::mapResources('Posts', ['prefix' => 'admin']); Префиксы создадут маршруты ресурсов с нижним регистром и подчеркиванием. Например /admin/posts
Параметры:
- 'id' - фрагмент регулярного выражения для сопоставления идентификаторов. По умолчанию, сопоставляет целочисленные значения и UUID.
- 'prefix' - префикс маршрута, используемый для сгенерированных маршрутов. По умолчанию ''. Использование этого параметра создаст префиксные маршруты, аналогично использованию Routing.prefixes.
- 'only' - подключить только указанный список действий.
- 'actions' - переопределить имена методов, используемых для подключения действий.
- 'map' - дополнительные маршруты ресурсов, которые следует подключить. Если вы определили 'only' и 'map', убедитесь, что ваши сопоставленные методы также находятся в списке 'only'.
- 'path' - изменить путь так, чтобы он не соответствовал имени ресурса. Например, ArticlesController доступен по адресу
/posts
Устаревший
3.3.0 Используйте Router::scope() и RouteBuilder::resources() вместо этого.Параметры
- string|array
$controller - Имя контроллера или массив имён контроллеров (например, "Posts" или "ListItems")
- array
$optionsнеобязательный [] - Параметры для использования при генерации маршрутов REST
См. также
\Cake\Routing\RouteBuilder::resources()normalize()source public static
normalize( array|string $url '/' )
Нормализует URL для сравнения.
Удаляет базовый путь и заменяет все двойные '/' на один. Не унифицирует регистр и подчеркивание входного значения.
Параметры
- array|string
$urlнеобязательный '/' - URL для нормализации. Может быть массивом или строкой URL.
Возвращает
stringНормализованный URL
parse()source public static
parse( string $url , string $method '' )
Разбирает заданную строку URL. Возвращает параметры 'routing' для этого URL.
Устаревший
3.4.0 Используйте Router::parseRequest() вместо этого.Параметры
- string
$url - URL для разбора.
- string
$methodнеобязательный '' - Используемый HTTP-метод.
Возвращает
arrayРазборённые элементы URL.
Вызывает исключение
Cake\Routing\Exception\MissingRouteExceptionЕсли маршрут не может быть обработан
parseNamedParams()source public static
parseNamedParams( Cake\Http\ServerRequest $request , array $options [] )
Обеспечивает обратную совместимость для именованных параметров в входящих URL.
Проверяет переданные параметры на наличие элементов, содержащих $options['separator'] Эти параметры разбиваются и разбираются так, как если бы они были именованными параметрами старого стиля.
Разборённые параметры будут перемещены из params['pass'] в params['named'].
Параметры
-
separatorСтрока, используемая в качестве разделителя. По умолчанию:.
Устаревший
3.3.0 Обратная совместимость для именованных параметров будет удалена в версии 4.0.Параметры
-
Cake\Http\ServerRequest$request - Объект запроса для изменения.
- array
$optionsнеобязательный [] - Массив параметров.
Возвращает
Cake\Http\ServerRequestИзменённый запрос
parseRequest()source public static
parseRequest( Psr\Http\Message\ServerRequestInterface $request )
Получить параметры маршрутизации для запроса, если это возможно.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Запрос для извлечения данных запроса.
Возвращает
arrayРазборённые элементы URL.
Вызывает исключение
Cake\Routing\Exception\MissingRouteExceptionЕсли маршрут не может быть обработан
plugin()source public static
plugin( string $name , array|callable $options [] , callable|null $callback null )
Добавить маршруты плагина.
Этот метод создаёт область маршрутов, которая включает в себя соответствующую информацию о плагине.
Имя плагина будет преобразованно в нижний регистр и с подчеркиванием для создания пути маршрутизации. Если вам нужен пользовательский путь, используйте параметр path.
Маршруты, подключенные в области, будут иметь соответствующий префикс пути, и будет установлен соответствующий ключ маршрутизации плагина.
Параметры
- string
$name - Имя плагина, для которого нужно создать маршруты
- array|callable
$optionsнеобязательный [] - Либо параметры для использования, либо обратный вызов
- callable|null
$callbackнеобязательный null Обратный вызов для вызова, который создаёт маршруты плагина. Требуется только когда $options определён
popRequest()source public static
popRequest( )
Извлекает запрос из стека запросов. Используется при вызове requestAction.
Возвращает
Cake\Http\ServerRequestЗапрос, удалённый из стека.
См. также
\Cake\Routing\Router::pushRequest()\Cake\Routing\RequestActionTrait::requestAction()
prefix()source public static
prefix( string $name , array|callable $params [] , callable|null $callback null )
Создаёт маршруты с префиксом.
Этот метод создаёт коллекцию маршрутов с областью действия, включающую информацию о префиксе.
Параметр path используется для генерации имени параметра маршрутизации. Например, путь admin приведет к применению 'prefix' => 'admin' ко всем связанным маршрутам.
Имя префикса будет склонено к нижнему регистру с подчёркиванием, чтобы создать путь маршрутизации. Если нужно пользовательское имя пути, используйте опцию path
Можно повторно открывать префикс столько раз, сколько нужно, а также вкладывать префиксы. Вложенные префиксы приведут к значениям префиксов, таким как admin/api, что соответствует пространству имён Controller\Admin\Api\
Параметры
- строка
$name - Имя префикса для использования.
- массив|вызов
$paramsдополнительно [] Массив значений по умолчанию для маршрутизации, добавляемых к каждому подключённому маршруту. Если нет параметров, этот аргумент может быть вызовом.
- вызов|null
$callbackдополнительно null - Обратный вызов для построения маршрутов с префиксом.
pushRequest()source public static
pushRequest( Cake\Http\ServerRequest $request )
Добавляет запрос в стек запросов. Добавление запроса устанавливает контекст запроса, используемый при генерации URL-адресов.
Параметры
-
Cake\Http\ServerRequest$request - Экземпляр запроса.
redirect()source public static
redirect( string $route , array $url , array $options [] )
Подключает новый маршрут перенаправления в маршрутизатор.
Провайдер совместимости для \Cake\Routing\RouteBuilder::redirect() в области /
Устарело
3.3.0 Используйте Router::scope() и RouteBuilder::redirect() вместо этого.Параметры
- строка
$route - Строка, описывающая шаблон маршрута
- массив
$url - URL для перенаправления. Может быть строкой или URL на основе массива Cake.
- массив
$optionsдополнительно [] Массив, сопоставляющий именованные элементы в маршруте с регулярными выражениями, которым должен соответствовать этот элемент. Также содержит дополнительные параметры, такие как параметры маршрута, которые нужно переместить в переданные аргументы. А также предоставляет шаблоны для параметров маршрутизации.
См. также
\Cake\Routing\RouteBuilder::redirect()reload()source public static
reload( )
Перезагружает параметры маршрутизатора по умолчанию. Сбрасывает все переменные класса и удаляет все подключённые маршруты.
reverse()source public static
reverse( Cake\Http\ServerRequest|array $params , boolean $full false )
Преобразует массив параметров в строку.
Работает аналогично Router::url(), но так как обработанные URL-адреса содержат дополнительные ключи 'pass' и 'url.url'. Эти ключи необходимо обработать особым образом, чтобы преобразовать массив параметров в строковый URL.
Это удалит имена параметров 'autoRender', 'bare', 'requested' и 'return', так как они используются внутренними компонентами CakePHP и обычно не должны быть частью выходного URL-адреса.
Параметры
-
Cake\Http\ServerRequest|массив$params Массив параметров или объект Cake\Network\Request, который нужно преобразовать.
- логическое значение
$fullдополнительно false Установите значение true, чтобы включить полный URL, включая протокол, при преобразовании URL-адреса.
Возвращает
строкаСтрока, являющаяся результатом преобразования массива
reverseToArray()source public static
reverseToArray( Cake\Http\ServerRequest|array $params )
Преобразует массив параметров в массив.
Работает аналогично Router::url(), но так как обработанные URL-адреса содержат дополнительные ключи 'pass' и 'url.url'. Эти ключи необходимо обработать особым образом, чтобы преобразовать массив параметров в строковый URL.
Это удалит имена параметров 'autoRender', 'bare', 'requested' и 'return', так как они используются внутренними компонентами CakePHP и обычно не должны быть частью выходного URL-адреса.
Параметры
-
Cake\Http\ServerRequest|массив$params Массив параметров или объект Cake\Http\ServerRequest, который нужно преобразовать.
Возвращает
массивМассив URL, готовый к использованию для перенаправления или HTML-ссылки.
routes()source public static
routes( )
Получает области действия маршрутов и связанные с ними маршруты.
Возвращает
Cake\Routing\Route\Route[]scope()source public static
scope( string $path , array|callable $params [] , callable|null $callback null )
Создаёт область действия маршрутизации.
Области действия маршрутизации позволяют сохранять маршруты DRY и избегать повторения общих префиксов путей и/или наборов параметров.
Коллекции с областью действия будут индексироваться по пути для более быстрого анализа маршрутов. Если вы повторно открываете или используете область действия, связанные маршруты будут объединены с существующими.
Опции
Массив $params позволяет определить параметры для области действия маршрутизации. Нижеперечисленные параметры не доступны для использования в качестве значений по умолчанию для маршрутизации
-
routeClassКласс маршрута для использования в этой области. По умолчаниюRouter::defaultRouteClass() -
extensionsРасширения для включения в этой области. По умолчанию установлены расширения, включенные глобально с помощьюRouter::extensions()
Пример
Router::scope('/blog', ['plugin' => 'Blog'], function ($routes) {
$routes->connect('/', ['controller' => 'Articles']);
}); Это приведет к созданию маршрута /blog/, с установкой параметров по умолчанию для плагина и контроллера.
Вы можете использовать Router::plugin() и Router::prefix() в качестве сокращений для создания определённых типов областей.
Параметры
- строка
$path Префикс пути для области действия. Этот путь будет добавлен в начало всех маршрутов, подключенных в коллекции с областью действия.
- массив|вызов
$paramsдополнительно [] Массив значений по умолчанию для маршрутизации, добавляемых к каждому подключённому маршруту. Если нет параметров, этот аргумент может быть вызовом.
- вызов|null
$callbackдополнительно null - Обратный вызов для вызова с коллекцией с областью действия.
Исключения
InvalidArgumentExceptionПри предоставлении недопустимого вызова.
setRequestContext()source public static
setRequestContext( Psr\Http\Message\ServerRequestInterface $request )
Хранит контекст запроса для заданного запроса.
Параметры
- Psr\Http\Message\ServerRequestInterface
$request - Экземпляр запроса.
Исключения
InvalidArgumentExceptionПри неверном типе параметра.
setRequestInfo()source public static
setRequestInfo( Cake\Http\ServerRequest|array $request )
Получает параметры и информацию о пути от диспетчера, устанавливает эти параметры в качестве текущих параметров запроса, которые объединяются с массивами URL, создаваемыми позже в запросе.
Вложенные запросы создадут стек запросов. Вы можете удалять запросы с помощью Router::popRequest(). Это делается автоматически при использовании Object::requestAction().
Принимает объект Cake\Http\ServerRequest или массив массивов. Поддержка приёма массивов может быть удалена в будущем.
Параметры
-
Cake\Http\ServerRequest|массив$request - Параметры и информация о пути или объект Cake\Http\ServerRequest.
url()source public static
url( string|array|null $url null , boolean $full false )
Находит URL для указанного действия.
Возвращает URL, указывающий на сочетание контроллера и действия.
Использование
-
Router::url('/posts/edit/1');Возвращает строку с добавленным базовым каталогом. Это использование не использует обратное маршрутизирование. -
Router::url(['controller' => 'posts', 'action' => 'edit']);Возвращает URL, сгенерированный с помощью обратного маршрутизирования. -
Router::url(['_name' => 'custom-name', ...]);Возвращает URL, сгенерированный с помощью обратного маршрутизирования. Эта форма позволяет использовать именованные маршруты.
Существует несколько «специальных» параметров, которые могут изменить конечную сгенерированную строку URL
-
_base- Установите в значение false, чтобы удалить базовый путь из сгенерированного URL. Если ваше приложение не находится в корневом каталоге, это можно использовать для генерации URL, которые являются «относительными к Cake». URL, относительные к Cake, необходимы при использовании requestAction. -
_scheme- Установите для создания ссылок на разных схемах, таких какwebcalилиftp. По умолчанию используется текущая схема. -
_host- Установите хост для использования в ссылке. По умолчанию используется текущий хост. -
_port- Установите порт, если необходимо создать ссылки на нестандартных портах. -
_full- Если значение true, к сгенерированным URL будет добавлен префиксRouter::fullBaseUrl(). -
#- Позволяет установить фрагменты хэшей URL. -
_ssl- Установите в значение true, чтобы преобразовать сгенерированный URL в https, или в значение false, чтобы принудительно использовать http. -
_name- Имя маршрута. Если вы настроили именованные маршруты, вы можете использовать этот ключ для его указания.
Параметры
- string|array|null
$urlнеобязательный null Массив, указывающий любое из следующего: 'controller', 'action', 'plugin'; дополнительно, вы можете предоставить маршрутизированные элементы или параметры строки запроса. Если строка, она может быть любой допустимой строкой URL.
- boolean
$fullнеобязательный false Если значение true, к результату будет добавлен полный базовый URL. По умолчанию значение false.
Возвращает
строкаПолный переведенный URL с базовым путем.
Выбрасывает
Cake\Core\Exception\ExceptionКогда имя маршрута не найдено
Подробное описание свойств
$_collectionsource
protected static Cake\Routing\RouteCollection
Коллекция маршрутов, к которым будут добавлены маршруты.
$_defaultExtensionssource
protected static массив
Определенные по умолчанию расширения с помощью Router::extensions()
[]
$_defaultRouteClasssource
protected static строка
Класс маршрута по умолчанию.
'Cake\Routing\Route\Route'
$_fullBaseUrlsource
protected static строка
Содержит базовую строку, которая будет применена ко всем сгенерированным URL. Например, https://example.com
$_initialStatesource
protected static массив
Начальное состояние заполняется в первый раз, когда вызывается reload(), что находится в нижней части этого файла. Это уловка, так как get_class_vars() возвращает значение статических переменных, даже если они изменились.
[]
$_namedExpressionssource
protected static массив
Именованные выражения
[
'Action' => Router::ACTION,
'Year' => Router::YEAR,
'Month' => Router::MONTH,
'Day' => Router::DAY,
'ID' => Router::ID,
'UUID' => Router::UUID
] $_requestssource
protected static массив
Сохраняет стек объектов запроса для текущего запроса. Он будет содержать более одного объекта запроса, когда используется requestAction.
[]
$_urlFilterssource
protected static callable[]
Стек фильтров URL, которые применяются к URL-адресам маршрутизации перед передачей параметров в коллекцию маршрутов.
[]
$initializedsource
public static boolean
Были ли загружены маршруты?
Устарело
3.5.0 Маршруты будут загружаться через хук Application::routes() в 4.0.0false
© 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.Router.html