Spec-Zone.ru › CakePHP 2.9

Класс Router

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

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

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

Именованные параметры

Именованные параметры позволяют встраивать пары ключ:значение в сегменты пути. Это позволяет создавать структуры хешей с помощью URL. Вы можете определить, как работают именованные параметры в вашем приложении, используя Router::connectNamed()

Пакет: Cake\Маршрутизация
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT Лицензия
Расположение: 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}'

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

  • $_currentRoute protected static
    array
    Сопоставленный с URL текущего запроса маршрут
  • $_fullBaseUrl protected static
    string

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

  • $_initialState protected static
    array

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

  • $_namedConfig protected static
    string
    Хранит всю необходимую информацию для определения того, какие именованные аргументы анализируются при каких условиях.
  • $_namedExpressions protected static
    array
    Именованные выражения
  • $_parseExtensions protected static
    boolean
    Директива для Router для анализа расширений файлов для сопоставления с типами содержимого.
  • $_prefixes protected static
    array

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

  • $_requests protected static
    array

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

  • $_resourceMap protected static
    array
    Сопоставление по умолчанию HTTP-метода запроса => действия контроллера.
  • $_resourceMapped protected static
    array
    Список контроллеров, связанных с ресурсами.
  • $_routeClass protected static
    string
    Класс маршрута по умолчанию для использования
  • $_validExtensions protected static
    array
    Список допустимых расширений для анализа из URL. Если null, любое расширение разрешено.
  • $initialized public static
    boolean
    Маршруты загружены?
  • $routes public static
    array
    Массив подключенных маршрутов с помощью Router::connect()

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

  • _handleNoRoute() protected static

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

  • _loadRoutes() protected static
    Загружает конфигурацию маршрутов
  • _parseExtension() protected static
    Разбирает расширение файла из URL, если Router::parseExtensions() включен.
  • _setPrefixes() protected static
    Устанавливает префиксы маршрутизации.
  • _validateRouteClass() protected static
    Проверяет, что переданный класс маршрута существует и является подклассом CakeRoute
  • connect() public static
    Подключает новый маршрут в маршрутизатор.
  • connectNamed() public static

    Указывает, какие именованные параметры CakePHP должен анализировать из входящих URL. По умолчанию CakePHP будет анализировать каждый именованный параметр из входящих URL. Однако, если вы хотите получить больший контроль над тем, как анализируются именованные параметры, вы можете использовать одну из следующих настроек:

  • currentRoute() public static
    Возвращает маршрут, соответствующий текущему запросу (полезно для отслеживания requestAction).
  • defaultRouteClass() public static
    Установить или вернуть текущий используемый по умолчанию класс маршрута.
  • extensions() public static
    Получить список расширений, которые могут быть обработаны Router.
  • fullBaseUrl() public static

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

  • getNamedExpressions() public static
    Получить элементы именованного маршрута для использования в app/Config/routes.php
  • getParam() public static
    Получает параметр URL по имени
  • getParams() public static
    Получает информацию о параметрах
  • getPaths() public static
    Получает информацию о путях
  • getRequest() public static
    Получает текущий объект запроса или первый из них.
  • mapResources() public static

    Создает маршруты REST-ресурсов для указанного(ых) контроллера(ов). При создании маршрутов ресурсов для плагина по умолчанию префикс будет изменен на нижний регистр с подчеркиваниями имени плагина. Предоставление префикса позволяет переопределить это поведение.

  • namedConfig() public static
    Получает текущие значения конфигурации именованных параметров.
  • normalize() public static
    Нормализует URL для целей сравнения.
  • parse() public static
    Парсит заданную строку URL. Возвращает параметры 'routing' для этого URL.
  • parseExtensions() public static
    Указывает маршрутизатору разбить URL на расширения файла.
  • popRequest() public static
    Извлекает запрос из стека запросов. Используется при requestAction
  • prefixes() public static
    Возвращает список префиксов, используемых в подключенных маршрутах
  • promote() public static
    Поднимает маршрут (по умолчанию, последний добавленный) в начало списка
  • queryString() public static
    Генерирует правильно сформированную строку запроса из $q
  • redirect() public static
    Подключает новый маршрут перенаправления в маршрутизатор.
  • reload() public static

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

  • requestRoute() public static
    Возвращает маршрут, соответствующий текущему запросу URL.
  • resourceMap() public static
    Получение и установка карты ресурсов.
  • reverse() public static
    Обращает массив параметров в строку.
  • setExtensions() public static
    Установить/добавить допустимые расширения.
  • setRequestInfo() public static

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

  • stripPlugin() public static
    Удаляет имя плагина из базового URL.
  • url() public static
    Находит URL для указанного действия.

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

_handleNoRoute()source protected static

_handleNoRoute( array $url )

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

Параметры

массив $url
URL, который не соответствовал ни одному маршруту

Возвращаемое значение

строка
Сгенерированный URL для массива

См. также

Router::url()

_loadRoutes()source protected static

_loadRoutes( )

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

_parseExtension()source protected static

_parseExtension( string $url )

Разбирает расширение файла из URL, если Router::parseExtensions() включен.

Параметры

строка $url
URL.

Возвращаемое значение

массив
Возвращает массив, содержащий измененный URL и разобранное расширение.

_setPrefixes()source protected static

_setPrefixes( )

Устанавливает префиксы маршрутизации.

_validateRouteClass()source protected static

_validateRouteClass( string $routeClass )

Проверяет, что переданный класс маршрута существует и является подклассом CakeRoute

Параметры

строка $routeClass
Имя класса маршрута

Возвращаемое значение

строка

Исключения

RouterException

connect()source public static

connect( string $route , array $defaults array() , array $options array() )

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

Маршруты — это способ подключения URL-запросов к объектам вашего приложения. В основе маршрутов лежит набор регулярных выражений, используемых для сопоставления запросов с пунктами назначения.

Примеры:

Router::connect('/:controller/:action/*');

Первый токен ':controller' будет использоваться в качестве имени контроллера, а второй — в качестве имени действия. Синтаксис '/*' делает этот маршрут жадным, то есть он будет соответствовать запросам, таким как /posts/index, а также запросам, таким как /posts/edit/1/foo/bar.

Router::connect('/home-page', array('controller' => 'pages', 'action' => 'display', 'home'));

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

Router::connect(
  '/:lang/:controller/:action/:id',
  array(),
  array('id' => '[0-9]+', 'lang' => '[a-z]{3}')
);

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

$defaults объединяется с результатами анализа URL-запроса, чтобы сформировать конечное назначение маршрутизации и его параметры. Это назначение выражается в виде ассоциативного массива маршрутизатором. См. вывод Router::parse().

$options предлагает четыре «специальных» ключа. pass, named, persist и routeClass имеют специальное значение в массиве $options.

  • pass используется для определения того, какие из параметров маршрута должны быть перенесены в массив переданных данных. Добавление параметра в массив переданных данных удалит его из обычного массива маршрута. Пример: 'pass' => array('slug')
  • persist используется для определения параметров маршрута, которые должны быть автоматически включены при генерации новых URL-адресов. Вы можете переопределить постоянные параметры, переопределив их в URL-адресе, или удалить их, установив параметр в значение false. Пример: 'persist' => array('lang')
  • routeClass используется для расширения и изменения того, как отдельные маршруты анализируют запросы и обрабатывают обратную маршрутизацию с помощью пользовательского класса маршрутизации. Пример: 'routeClass' => 'SlugRoute'
  • named используется для конфигурации именованных параметров на уровне маршрута. Этот ключ использует те же параметры, что и Router::connectNamed()

Вы также можете добавить дополнительные условия для сопоставления маршрутов в массив $defaults. Следующие условия могут быть использованы:

  • [type] Сопоставлять только запросы для определенных типов содержимого.
  • [method] Сопоставлять только запросы со специфическими HTTP-методами.
  • [server] Сопоставлять только в том случае, если $_SERVER['SERVER_NAME'] соответствует заданному значению.

Пример использования условия [method]:

Router::connect('/tasks', array('controller' => 'tasks', 'action' => 'index', '[method]' => 'GET'));

Вышеуказанный маршрут будет соответствовать только запросам GET. Запросы POST не будут соответствовать этому маршруту.

Параметры

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

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

массив $options необязательный массив()

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

Возвращает

массив
Массив маршрутов

Выбрасывает

RouterException

См. также

Router::$routes
parse().

connectNamed()source public static

connectNamed( array $named , array $options array() )

Определяет, какие именованные параметры CakePHP должен анализировать из входящих URL-адресов. По умолчанию CakePHP будет анализировать все именованные параметры из входящих URL-адресов. Однако, если вы хотите получить больший контроль над тем, как анализируются именованные параметры, вы можете использовать одну из следующих настроек:

Не анализировать именованные параметры:

Router::connectNamed(false); ```

Parse only default parameters used for CakePHP's pagination:

Router::connectNamed(false, array('default' => true));

Parse only the page parameter if its value is a number:

Router::connectNamed(array('page' => '[\d]+'), array('default' => false, 'greedy' => false));

Parse only the page parameter no matter what.

Router::connectNamed(array('page'), array('default' => false, 'greedy' => false));

Parse only the page parameter if the current action is 'index'.

Router::connectNamed( array('page' => array('action' => 'index')), array('default' => false, 'greedy' => false) );

Parse only the page parameter if the current action is 'index' and the controller is 'pages'.

Router::connectNamed( array('page' => array('action' => 'index', 'controller' => 'pages')), array('default' => false, 'greedy' => false) ); ```

Параметры

  • greedy Установка этого значения в true заставит Router анализировать все именованные параметры. Установка его в false проанализирует только подключенные именованные параметры.
  • default Установите это значение в true, чтобы объединить набор параметров по умолчанию.
  • reset Установка в true позволит очистить существующие правила и начать заново.
  • separator Изменить строку, используемую для разделения ключа и значения в именованном параметре. По умолчанию это :

Параметры

массив $named

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

массив $options необязательный массив()
Позволяет управлять всеми настройками: разделителем, жадностью, сбросом, значением по умолчанию

Возвращает

массив

currentRoute()source public static

currentRoute( )

Возвращает маршрут, соответствующий текущему запросу (полезно для отслеживания requestAction).

Возвращает

CakeRoute
Соответствующий объект маршрута.

defaultRouteClass()source public static

defaultRouteClass( string $routeClass null )

Устанавливает или возвращает текущий класс маршрутизации по умолчанию

Параметры

строка $routeClass необязательный null
Класс маршрутизации, который нужно установить по умолчанию.

Возвращает

строка|null
Класс маршрутизации по умолчанию.

Выбрасывает

RouterException

extensions()source public static

extensions( )

Получить список расширений, которые могут быть обработаны Router.

Для начальной установки расширений используйте Router::parseExtensions(). Чтобы добавить больше, см. setExtensions()

Возвращает

массив
Массив расширений, которые Router настроен для обработки.

fullBaseUrl()source public static

fullBaseUrl( string $base null )

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

Примечание:

Если вы измените значение конфигурации App.fullBaseUrl во время выполнения и ожидаете, что маршрутизатор сгенерирует ссылки, используя новое значение, вам необходимо снова вызвать этот метод, передав это значение.

Параметры

строка $base необязательный null

Префикс для генерируемых URL-адресов, содержащий домен. Например: http://example.com

Возвращает

строка

getNamedExpressions()source public static

getNamedExpressions( )

Получает именованные элементы маршрута для использования в файле app/Config/routes.php

Возвращает

массив
Именованные элементы маршрута

См. также

Router::$_namedExpressions

getParam()source public static

getParam( string $name 'controller' , boolean $current false )

Получает параметр URL по имени

Параметры

строка $name необязательный 'controller'
Имя параметра
логическое значение $current необязательный false
Текущий параметр, полезный при использовании requestAction

Возвращает

строка|null
Значение параметра

getParams()source public static

getParams( boolean $current false )

Получает информацию о параметрах

Параметры

логическое значение $current необязательный false
Получить параметр текущего запроса, полезный при использовании requestAction

Возвращает

массив
Информация о параметрах

getPaths()source public static

getPaths( boolean $current false )

Получает информацию о пути

Параметры

boolean $current необязательно false
Текущий параметр, полезен при использовании requestAction

Возвращает

array

getRequest()source public static

getRequest( boolean $current false )

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

Параметры

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

Возвращает

CakeRequest|null
Null, если стек пуст.

mapResources()source public static

mapResources( string|array $controller , array $options array() )

Создаёт маршруты REST-ресурсов для заданного(ых) контроллера(ов). При создании маршрутов ресурсов для плагина, по умолчанию префикс изменяется на нижний регистр с подчеркиванием имени плагина. Предоставив префикс, можно переопределить это поведение.

Параметры:

  • 'id' - фрагмент регулярного выражения для сопоставления идентификаторов. По умолчанию соответствует целочисленным значениям и UUID.
  • 'prefix' - префикс URL для используемых маршрутов. По умолчанию '/'.
  • 'connectOptions' — настраиваемые параметры для подключения маршрутов.

Параметры

string|array $controller
Имя контроллера или массив имён контроллеров (например, "Posts" или "ListItems")
array $options необязательно array()
Параметры для использования при генерации REST-маршрутов

Возвращает

array
Массив сопоставленных ресурсов

namedConfig()source public static

namedConfig( )

Получает текущие значения конфигурации именованных параметров.

Возвращает

array

См. также

Router::$_namedConfig

normalize()source public static

normalize( array|string $url '/' )

Нормализует URL для целей сравнения.

Удалит базовый путь и заменит все двойные '/' на одиночные. Не будет унифицировать регистр и подчеркивание входного значения.

Параметры

array|string $url необязательно '/'
URL для нормализации. Может быть массивом или строкой URL.

Возвращает

string
Нормализованный URL

parse()source public static

parse( string $url )

Парсит заданную строку URL. Возвращает параметры 'routing' для этого URL.

Параметры

string $url
URL для парсинга

Возвращает

array
Разбор элементов из URL

parseExtensions()source public static

parseExtensions( )

Инструктирует маршрутизатор разобрать расширения файлов из URL.

Например, http://example.com/posts.rss даст расширение файла "rss". Само расширение файла доступно в контроллере как $this->params['ext'], и используется компонентом RequestHandler для автоматической смены макетов и шаблонов, а также загрузки помощников, соответствующих заданному содержимому, например, RssHelper. Для смены макетов и помощников необходимо, чтобы у выбранного расширения был определён MIME-тип в CakeResponse.

Список допустимых расширений можно передать в этот метод, например, Router::parseExtensions('rss', 'xml'); Если параметры не указаны, будет обработано всё после первой точки (.) после последнего / в URL, за исключением параметров запроса (например, ?q=...).

См. также

RequestHandler::startup()

popRequest()source public static

popRequest( )

Извлекает запрос из стека запросов. Используется при выполнении requestAction

Возвращает

CakeRequest
Запрос, удалённый из стека.

См. также

Router::setRequestInfo()
Object::requestAction()

prefixes()source public static

prefixes( )

Возвращает список префиксов, используемых в подключенных маршрутах

Возвращает

array
Список префиксов, используемых в подключенных маршрутах

promote()source public static

promote( integer $which null )

Выдвигает маршрут (по умолчанию, последний добавленный) в начало списка

Параметры

integer $which необязательно null

Индекс массива (нумерация с нуля) маршрута для перемещения. Например, если добавлено 3 маршрута, последний маршрут будет иметь индекс 2.

Возвращает

boolean
Возвращает false, если маршрута с указанным индексом не существует.

queryString()source public static

queryString( string|array $q , array $extra array() , boolean $escape false )

Генерирует хорошо сформированную строку запроса из $q

Параметры

string|array $q

Строка запроса. Может быть строкой уже скомпилированных аргументов строки запроса или массивом аргументов для преобразования в строку запроса.

array $extra необязательно array()
Дополнительные параметры строки запроса.
boolean $escape необязательно false
Использовать ли экранированные &

Возвращает

array

redirect()source public static

redirect( string $route , array $url , array $options array() )

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

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

Примеры:

Router::redirect('/home/*', array('controller' => 'posts', 'action' => 'view'), array('persist' => true));

Перенаправляет /home/* на /posts/view и передаёт параметры в /posts/view. Использование массива в качестве пункта назначения перенаправления позволяет использовать другие маршруты для определения, куда должна быть перенаправлена строка URL.

Router::redirect('/posts/*', 'http://google.com', array('status' => 302));

Перенаправляет /posts/* на http://google.com со статусом HTTP 302

Параметры:

  • status Устанавливает код HTTP-статуса (по умолчанию 301)
  • persist Передаёт параметры перенаправляемому маршруту, если возможно. Это полезно для жадных маршрутов, маршрутов, заканчивающихся на * — они жадные. Это позволяет переназначать URL и не терять переданные/именованные аргументы.

Параметры

string $route
Строка, описывающая шаблон маршрута
array $url
URL для перенаправления. Может быть строкой или URL CakePHP на основе массива.
array $options необязательно array()

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

Возвращает

array
Массив маршрутов

См. также

Router::$routes

reload()source public static

reload( )

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

requestRoute()source public static

requestRoute( )

Возвращает маршрут, соответствующий текущему URL запроса.

Возвращает

CakeRoute
Объект соответствующего маршрута.
END_OF_DOCUMENT_MARKER

resourceMap()source public static

resourceMap( array $resourceMap null )

Получение и установка карты ресурсов.

Параметры

массив $resourceMap необязательно null
Карта ресурсов

Возвращает

смешанный тип

См. также

Router::$_resourceMap

reverse()source public static

reverse( CakeRequest|array $params , boolean $full false )

Обращает массив параметров, полученный из запроса, в строку URL.

Функционирует аналогично Router::url(), но поскольку обработанные URL содержат дополнительные ключи 'pass', 'named' и 'url.url', необходимо обработать эти ключи для преобразования массива параметров в строку URL.

При этом будут удалены имена параметров 'autoRender', 'bare', 'requested' и 'return', так как они используются внутренними механизмами CakePHP и обычно не должны быть частью выходного URL.

Параметры

CakeRequest|массив $params
Массив параметров или объект CakeRequest, который нужно обратить.
булево значение $full необязательно false

Установите в значение true, чтобы включить весь URL, включая протокол, при обращении URL.

Возвращает

строка
Строка, являющаяся результатом обратной операции преобразования массива в URL.

setExtensions()source public static

setExtensions( array $extensions , boolean $merge true )

Установка/добавление допустимых расширений.

Для обработки расширений необходимо вызвать Router::parseExtensions()

Параметры

массив $extensions
Список расширений, которые будут считаться допустимыми.
булево значение $merge необязательно true
По умолчанию значение true объединит расширения. Установите значение false, чтобы перезаписать текущие расширения.

Возвращает

массив

setRequestInfo()source public static

setRequestInfo( CakeRequest|array $request )

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

Вложенные запросы создадут стек запросов. Вы можете удалить запросы с помощью Router::popRequest(). Это происходит автоматически при использовании CakeObject::requestAction().

Принимает объект CakeRequest или массив массивов. Возможность принимать массивы может быть удалена в будущем.

Параметры

CakeRequest|массив $request
Информация о параметрах и пути или объект CakeRequest.

stripPlugin()source public static

stripPlugin( string $base , string $plugin null )

Удаляет имя плагина из базового URL.

Параметры

строка $base
Базовый URL
строка $plugin необязательно null
Имя плагина

Возвращает

строка
Базовый URL с удалённым именем плагина, если оно присутствует.

url()source public static

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

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

Возвращает URL, указывающий на сочетание контроллера и действия. Параметр $url может быть:

  • Пустой - метод найдёт адрес реального контроллера/действия.
  • '/' - метод найдёт базовый URL приложения.
  • Сочетание контроллер/действие - метод найдёт URL для него.

Есть несколько «специальных» параметров, которые могут изменить конечную строку генерируемого URL.

  • base - Установите в значение false, чтобы удалить базовый путь из генерируемого URL. Если ваше приложение не находится в корневом каталоге, это можно использовать для генерации URL, которые «относительны к Cake». Cake-относительные URL требуются при использовании requestAction.
  • ? - Принимает массив параметров строки запроса.
  • # - Позволяет устанавливать фрагменты хэша URL.
  • full_base - Если true, значение Router::fullBaseUrl() будет добавлено к генерируемым URL.

Параметры

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

Cake-относительный URL, например, "/products/edit/92" или "/presidents/elect/4", или массив, определяющий любой из следующих элементов: 'controller', 'action', и/или 'plugin', в дополнение к именованным аргументам (элементы массива с ключами) и стандартным аргументам URL (элементы массива с индексами).

булево значение|массив $full необязательно false

Если (bool) true, к результату будет добавлен полный базовый URL. Если массив, принимающий следующие ключи: escape - используется при создании URL, встроенных в html, экранирует строку запроса '&'. full - если true, к результату будет добавлен полный базовый URL.

Возвращает

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

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

$_currentRoutesource

protected static массив

Маршрут, соответствующий URL текущего запроса

array()

$_fullBaseUrlsource

protected static строка

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

$_initialStatesource

protected static массив

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

array()

$_namedConfigsource

protected static строка

Хранит всю информацию, необходимую для определения того, какие именованные аргументы обрабатываются в каких условиях.

array(
    'default' => array('page', 'fields', 'order', 'limit', 'recursive', 'sort', 'direction', 'step'),
    'greedyNamed' => true,
    'separator' => ':',
    'rules' => false,
)

$_namedExpressionssource

protected static массив

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

array(
    'Action' => Router::ACTION,
    'Year' => Router::YEAR,
    'Month' => Router::MONTH,
    'Day' => Router::DAY,
    'ID' => Router::ID,
    'UUID' => Router::UUID
)

$_parseExtensionssource

protected static булево значение

Директива для Router по обработке расширений файлов для сопоставления с типами содержимого.

false

$_prefixessource

protected static массив

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

array()

$_requestssource

protected static массив

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

array()

$_resourceMapsource

protected static массив

Карта по умолчанию HTTP-методов => действий контроллера.

array(
    array('action' => 'index', 'method' => 'GET', 'id' => false),
    array('action' => 'view', 'method' => 'GET', 'id' => true),
    array('action' => 'add', 'method' => 'POST', 'id' => false),
    array('action' => 'edit', 'method' => 'PUT', 'id' => true),
    array('action' => 'delete', 'method' => 'DELETE', 'id' => true),
    array('action' => 'edit', 'method' => 'POST', 'id' => true)
)

$_resourceMappedsource

protected static массив

Список контроллеров, сопоставленных с ресурсами.

array()

$_routeClasssource

protected static строка

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

'CakeRoute'
END_OF_DOCUMENT_MARKER

$_validExtensionssource

protected static array

Список допустимых расширений для разбора из URL. Если null, то разрешены любые расширения.

array()

$initializedsource

public static boolean

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

false

$routessource

public static array

Массив маршрутов, подключенных с помощью Router::connect()

array()

© 2005–2016 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/2.9/class-Router.html

Spec-Zone.ru

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