Spec-Zone.ru › CakePHP 3.6

Класс Router

Разбирает URL запроса на контроллер, действие и параметры. Использует подключенные маршруты для сопоставления входящей строки URL с параметрами, что позволит обработать запрос. Также обрабатывает преобразование списков параметров в строки URL, используя подключенные маршруты. Маршрутизация позволяет отделить способ взаимодействия мира с вашим приложением (URL) от реализации (контроллеры и действия).

Подключение маршрутов

Подключение маршрутов выполняется с помощью Router::connect(). При разборе входящих запросов или обратном сопоставлении параметров маршруты перечисляются в порядке их подключения. Для получения дополнительной информации о маршрутах и способах их подключения см. Router::connect().

Пространство имен: Cake\Маршрутизация
Расположение: Routing/Router.php

Краткое описание констант

  • string

    ACTION
    'index|show|add|create|edit|update|remove|del|delete|view|item'
  • string

    DAY
    '0[1-9]|[12][0-9]|3[01]'
  • string

    ID
    '[0-9]+'
  • string

    MONTH
    '0[1-9]|1[012]'
  • string

    UUID
    '[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

    YEAR
    '[12][0-9]{3}'

Краткое описание свойств

  • $_collection protected static
    Cake\Routing\RouteCollection
    Коллекция маршрутов, к которой будут добавляться маршруты.
  • $_defaultExtensions protected static
    array
    Определенные по умолчанию расширения с помощью Router::extensions()
  • $_defaultRouteClass protected static
    string
    Класс маршрута по умолчанию.
  • $_fullBaseUrl protected static
    string

    Содержит базовую строку, которая будет применяться ко всем сгенерированным URL. Например https://example.com

  • $_initialState protected static
    array

    Начальное состояние заполняется в первый раз, когда вызывается reload(), что находится внизу этого файла. Это уловка, так как get_class_vars() возвращает значение статических переменных, даже если они изменились.

  • $_namedExpressions protected static
    array
    Имена выражений
  • $_requestContext protected static
    array
    Хэш данных контекста запроса.
  • $_requests protected static
    array

    Сохраняет стек объектов запроса для текущего запроса. Он будет содержать более одного объекта запроса, когда используется requestAction.

  • $_urlFilters protected static
    callable[]

    Стек фильтров URL, которые применяются к URL маршрутизации перед передачей параметров в коллекцию маршрутов.

  • $initialized public static
    boolean
    Загружены ли маршруты

Краткое описание методов

  • _applyUrlFilters() protected static
    Применяет все подключенные фильтры URL к URL.
  • _loadRoutes() protected static deprecated
    Загружает конфигурацию маршрутов
  • addUrlFilter() public static
    Добавляет фильтр URL в маршрутизатор.
  • connect() public static
    Подключает новый маршрут в маршрутизатор.
  • createRouteBuilder() public static
    Создает RouteBuilder для заданного пути.
  • defaultRouteClass() public static
    Получение или установка по умолчанию класса маршрута.
  • extensions() public static
    Получение или установка допустимых расширений для всех маршрутов, подключенных позднее.
  • fullBaseUrl() public static

    Устанавливает полный базовый URL, который будет использоваться в качестве префикса для генерации полных URL-адресов для этого приложения. Если параметры не переданы, возвращается текущее значение конфигурации.

  • getNamedExpressions() public static
    Получает именованные шаблоны маршрутов для использования в config/routes.php
  • getRequest() public static
    Получение текущего объекта запроса или первого из них.
  • getRouteCollection() public static
    Получение RouteCollection внутри маршрутизатора
  • mapResources() public static deprecated
    Генерирует маршруты REST-ресурсов для заданного(ых) контроллера(ов).
  • normalize() public static
    Нормализует URL для целей сравнения.
  • parse() public static deprecated
    Парсит заданную строку URL. Возвращает параметры 'routing' для этого URL.
  • parseNamedParams() public static deprecated
    Обеспечивает поддержку устаревшего синтаксиса именованных параметров в входящих URL-адресах.
  • parseRequest() public static
    Получение параметров маршрутизации для запроса, если это возможно.
  • plugin() public static
    Добавить маршруты плагина.
  • popRequest() public static
    Извлекает запрос из стека запросов. Используется при выполнении requestAction
  • prefix() public static
    Создает маршруты с префиксом.
  • pushRequest() public static

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

  • redirect() public static deprecated
    Подключает новый перенаправляющий маршрут в маршрутизатор.
  • reload() public static

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

  • reverse() public static
    Обращает массив параметров в строку.
  • reverseToArray() public static
    Обращает массив параметров в массив.
  • routeExists() public static
    Находит URL для указанного действия.
  • routes() public static
    Получение областей видимости маршрутов и связанных с ними маршрутов.
  • scope() public static
    Создает область видимости маршрутизации.
  • setRequestContext() public static
    Хранение контекста запроса для данного запроса.
  • setRequestInfo() public static

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

  • setRouteCollection() public static
    Устанавливает RouteCollection внутри маршрутизатора
  • url() public static
    Находит 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 deprecated

_loadRoutes( )

Загружает конфигурацию маршрутов

Устарело

3.5.0 Маршруты будут загружаться через хук Application::routes() в 4.0.0

addUrlFilter()source public static

addUrlFilter( callable $function )

Добавляет фильтр URL в маршрутизатор.

Функции фильтра 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|string $defaults = [] , array $options = [] )

Подключает новый маршрут в маршрутизатор.

Прокси-функция совместимости с \Cake\Routing\RouteBuilder::connect() в области видимости /.

Параметры

строка $route
Строка, описывающая шаблон маршрута
массив|строка $defaults необязательно []

Массив, описывающий параметры маршрута по умолчанию. Эти параметры будут использоваться по умолчанию и могут предоставить параметры маршрутизации, которые не являются динамическими. См. выше.

массив $options необязательно []

Массив, соответствующий именованным элементам в маршруте с регулярными выражениями, которым должен соответствовать этот элемент. Также содержит дополнительные параметры, такие как параметры маршрутов, которые должны быть перенесены в переданные аргументы, шаблоны для параметров маршрутов и имя пользовательского класса маршрутизации.

Исключения

Cake\Core\Exception\Exception

См. также

\Cake\Routing\RouteBuilder::connect()
\Cake\Routing\Router::scope()

createRouteBuilder()source public static

createRouteBuilder( string $path , array $options = [] )

Создает RouteBuilder для заданного пути.

Параметры

строка $path
Путь, которому будет назначен билдер.
массив $options необязательно []
Параметры билдера

Возвращает

Cake\Routing\RouteBuilder

defaultRouteClass()source public static

defaultRouteClass( string|null $routeClass = null )

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

Параметры

string|null $routeClass необязательный null
Имя класса.

Возвращает

string|null

extensions()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

Возвращает

string

getNamedExpressions()source public static

getNamedExpressions( )

Получает именованные шаблоны маршрутов для использования в config/routes.php

Возвращает

array
Элементы именованного маршрута

См. также

\Cake\Routing\Router::$_namedExpressions

getRequest()source public static

getRequest( boolean $current = false )

Получить текущий объект запроса или первый.

Параметры

boolean $current необязательный false
True для получения текущего запроса, или false для получения первого.

Возвращает

Cake\Http\ServerRequest|null

getRouteCollection()source public static

getRouteCollection( )

Получить RouteCollection внутри Router

Возвращает

Cake\Routing\RouteCollection

mapResources()source public static устаревшее

mapResources( string|array $controller , array $options = [] )

Генерировать маршруты REST-ресурсов для заданного(ых) контроллера(ов).

Прокси-метод совместимости для \Cake\Routing\RouteBuilder::resources(). Дополнительная совместимость относительно префиксов, плагинов и префиксов обрабатывается этим методом.

Быстрый способ сгенерировать маршруты по умолчанию для набора REST-ресурсов (контроллера(ов)).

Использование

Подключение маршрутов ресурсов для контроллера приложения:

Router::mapResources('Posts');

Подключение маршрутов ресурсов для контроллера Comments в плагине 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.

Маршруты, подключенные в коллекцию со скоупом, будут иметь правильный префикс пути и иметь соответствующий ключ маршрута плагина.

Параметры

строка $name
Имя плагина, для которого необходимо построить маршруты
массив|вызываемый объект $options необязательно []
Либо опции, либо обратный вызов
вызываемый объект|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 )

Создать маршруты с префиксом.

Этот метод создает коллекцию маршрутов со скоупом, содержащую соответствующую информацию о префиксе.

Параметр пути используется для генерации имени параметра маршрута. Например, путь 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 deprecated

redirect( string $route , array $url , array $options = [] )

Подключает новый маршрут перенаправления в маршрутизатор.

Прокси-метод совместимости \Cake\Routing\RouteBuilder::redirect() в / scope.

Устарело

3.3.0 Используйте Router::scope() и RouteBuilder::redirect() вместо этого.

Параметры

строка $route
Строка, описывающая шаблон маршрута
массив $url
URL для перенаправления. Может быть строкой или объектом Cake-URL.
массив $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\Http\ServerRequest, который необходимо обратить.

логическое значение $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-ссылке.

routeExists()source public static

routeExists( string|array|null $url = null , boolean $full = false )

Находит URL для указанного действия.

Возвращает логическое значение, если URL существует.

Использование

Параметры

строка|массив|null $url необязательно null

Массив, задающий любые из следующих значений: 'controller', 'action', 'plugin'. Кроме того, вы можете указать элементы маршрутизации или параметры запроса. Если это строка, она может быть любым допустимым строковым URL.

логическое значение $full необязательно false

Если true, к результату будет добавлен полный базовый URL. По умолчанию false.

Возвращает

логическое значение

См. также

Router::url()

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|array $request
Информация о параметрах и пути или объект Cake\Http\ServerRequest.

Устаревшая версия

3.6.0 Поддержка массивов будет удалена в 4.0.0

setRouteCollection()source public static

setRouteCollection( RouteCollection $routeCollection )

Установить RouteCollection внутри Router

Параметры

RouteCollection $routeCollection
коллекция маршрутов

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, выход Router::fullBaseUrl() будет добавлен к сгенерированным URL.
  • # - Позволяет установить фрагменты хешей URL.
  • _ssl - Установите в значение true, чтобы преобразовать сгенерированный URL в https, или false, чтобы принудительно использовать http.
  • _name - Имя маршрута. Если вы настроили именованные маршруты, вы можете использовать этот ключ для его указания.

Параметры

string|array|null $url необязательно null

Массив, определяющий следующие элементы: 'controller', 'action', 'plugin'. Дополнительно, вы можете предоставить маршрутизированные элементы или параметры строки запроса. Если строка, то она может быть любой допустимой строкой URL.

boolean $full необязательно false

Если true, полный базовый URL будет добавлен к результату. По умолчанию false.

Возвращает

string
Полный переведенный URL с базовым путем.

Исключения

Cake\Core\Exception\Exception
Когда имя маршрута не найдено

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

$_collectionsource

protected static Cake\Routing\RouteCollection

Коллекция маршрутов, к которой будут добавлены маршруты.

$_defaultExtensionssource

protected static array

Определенные по умолчанию расширения с помощью Router::extensions()

[]

$_defaultRouteClasssource

protected static string

Класс маршрута по умолчанию.

'Cake\Routing\Route\Route'

$_fullBaseUrlsource

protected static string

Содержит базовую строку, которая будет применена ко всем сгенерированным URL. Например, https://example.com

$_initialStatesource

protected static array

Исходное состояние заполняется в первый раз при вызове reload(), которое находится внизу этого файла. Это уловка, так как get_class_vars() возвращает значение статических переменных, даже если они изменились.

[]

$_namedExpressionssource

protected static array

Именованные выражения

[
    'Action' => Router::ACTION,
    'Year' => Router::YEAR,
    'Month' => Router::MONTH,
    'Day' => Router::DAY,
    'ID' => Router::ID,
    'UUID' => Router::UUID
]

$_requestContextsource

protected static array

Хеш данных контекста запроса.

[]

$_requestssource

protected static array

Сохраняет стек объекта запроса для текущего запроса. Будет содержать более одного объекта запроса, когда используется requestAction.

[]

$_urlFilterssource

protected static callable[]

Стек фильтров URL, применяемых к маршрутам URL перед передачей параметров в коллекцию маршрутов.

[]

$initializedsource

public static boolean

Были ли загружены маршруты

Устаревшая версия

3.5.0 Маршруты будут загружаться через метод Application::routes() в 4.0.0
false

© 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/3.6/class-Cake.Routing.Router.html

Spec-Zone.ru

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