Spec-Zone.ru › CakePHP 2.8

Класс 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

    Принимает информацию о параметрах и путях от диспетчера, устанавливает эти параметры как текущие параметры запроса, которые объединяются с массивами 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. Добавление параметра в 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::parseExtensions(). Чтобы добавить больше, см. setExtensions()

Возвращает

массив
Массив расширений, которые маршрутизатор настроен обрабатывать.

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, используемый для сгенерированных маршрутов. По умолчанию '/'.

Параметры

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

Индекс массива (от 0) представляющий маршрут, который нужно переместить. Например, если добавлено 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
Соответствующий объект маршрута.

resourceMap()source public static

resourceMap( array $resourceMap null )

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

Параметры

array $resourceMap опционально null
Карта ресурсов

Возвращает

mixed

См. также

Router::$_resourceMap
END_OF_DOCUMENT_MARKER

reverse()source public static

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

Преобразует массив параметров в строку.

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

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

Параметры

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

Установите в значение true, чтобы при обратном преобразовании 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(). Это делается автоматически при использовании Object::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 массив

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

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'

$_validExtensionssource

protected static массив

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

array()
END_OF_DOCUMENT_MARKER

$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.
http://api.cakephp.org/2.8/class-Router.html

Spec-Zone.ru

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