Spec-Zone.ru › Yii 2.0

Класс yii\web\UrlRule

Все классы | Свойства | Методы | Константы
Наследование yii\web\UrlRule » yii\base\Object
Реализует yii\base\Configurable, yii\web\UrlRuleInterface
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/web/UrlRule.php

UrlRule представляет собой правило, используемое yii\web\UrlManager для разбора и генерации URL-адресов.

Для определения собственной логики разбора и создания URL-адресов можно расширить этот класс и добавить его в yii\web\UrlManager::$rules, например так:

'rules' => [
    ['class' => 'MyUrlRule', 'pattern' => '...', 'route' => 'site/index', ...],
    // ...
]

Публичные свойства

Свойство Тип Описание Определено в
$createUrlStatus null|целое число Статус создания URL-адреса после последнего вызова createUrl(). yii\web\UrlRule
$defaults массив Значения по умолчанию для параметров GET (имя => значение), предоставляемые этим правилом. yii\web\UrlRule
$encodeParams булево Указывает, нужно ли кодировать параметры URL. yii\web\UrlRule
$host строка Шаблон для разбора и создания части имени хоста URL (например, `http://example`). yii\web\UrlRule
$mode целое число Указывает, должно ли это правило использоваться для разбора запроса и создания URL, только для разбора или только для создания. yii\web\UrlRule
$name строка Имя этого правила. yii\web\UrlRule
$normalizer yii\web\UrlNormalizer|массив|false|null Настройка yii\web\UrlNormalizer, используемого этим правилом. yii\web\UrlRule
$pattern строка Шаблон для разбора и создания части пути URL. yii\web\UrlRule
$route строка Маршрут к действию контроллера. yii\web\UrlRule
$suffix строка Суффикс URL для данного правила. yii\web\UrlRule
$verb строка|массив HTTP-метод (например, GET, POST, DELETE), которому должно соответствовать данное правило. yii\web\UrlRule

Защищённые свойства

Свойство Тип Описание Определено в
$createStatus целое число|null Статус создания URL-адреса после последнего вызова createUrl(). yii\web\UrlRule
$placeholders массив Список плейсхолдеров для соответствия именам параметров. yii\web\UrlRule

Публичные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__toString() yii\web\UrlRule
__unset() Устанавливает свойство объекта в null. yii\base\Object
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
createUrl() Создает URL-адрес в соответствии с заданным маршрутом и параметрами. yii\web\UrlRule
getCreateUrlStatus() Возвращает статус создания URL-адреса после последнего вызова createUrl(). yii\web\UrlRule
hasMethod() Возвращает значение, указывающее, определен ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует это правило. yii\web\UrlRule
parseRequest() Разбирает заданный запрос и возвращает соответствующий маршрут и параметры. yii\web\UrlRule

Защищённые методы

Метод Описание Определено в
getNormalizer() yii\web\UrlRule
getParamRules() Возвращает список регулярных выражений для сопоставления параметра. yii\web\UrlRule
hasNormalizer() yii\web\UrlRule
substitutePlaceholderNames() Перебирает $placeholders и проверяет, существует ли каждый плейсхолдер в качестве ключа в массиве $matches. yii\web\UrlRule

Константы

Постоянная Значение Описание Определено в
CREATE_STATUS_PARAMS_MISMATCH 4 Представляет неудачное создание URL последним вызовом createUrl(), из-за несоответствия или отсутствия параметров. yii\web\UrlRule
CREATE_STATUS_PARSING_ONLY 1 Представляет неудачное создание URL последним вызовом createUrl(), так как правило не поддерживает создание URL. yii\web\UrlRule
CREATE_STATUS_ROUTE_MISMATCH 2 Представляет неудачное создание URL последним вызовом createUrl(), из-за несоответствия маршрута. yii\web\UrlRule
CREATE_STATUS_SUCCESS 0 Представляет успешное создание URL последним вызовом createUrl(). yii\web\UrlRule
CREATION_ONLY 2 Установите $mode с этим значением, чтобы отметить, что это правило предназначено только для создания URL yii\web\UrlRule
PARSING_ONLY 1 Установите $mode с этим значением, чтобы отметить, что это правило предназначено только для разбора URL yii\web\UrlRule

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

$createStatus защищенное свойство (доступно с версии 2.0.12)

Статус создания URL после последнего вызова createUrl().

protected integer|null $createStatus = null

$createUrlStatus общедоступное свойство только для чтения

Статус создания URL после последнего вызова createUrl(). null если правило не предоставляет информацию о статусе создания.

public null|integer getCreateUrlStatus ( )

$defaults общедоступное свойство

Параметры GET по умолчанию (имя => значение), которые предоставляет это правило. Когда это правило используется для разбора входящего запроса, значения, объявленные в этом свойстве, будут внедрены в $_GET.

public array $defaults = []

$encodeParams общедоступное свойство

Значение, указывающее, должны ли параметры быть закодированы в URL.

public boolean $encodeParams = true

$host общедоступное свойство

Шаблон, используемый для разбора и создания части информации о хосте URL (например, http://example.com).

См. также $pattern.

public string $host = null

$mode общедоступное свойство

Значение, указывающее, должно ли это правило использоваться для разбора запроса и создания URL, только для разбора или только для создания. Если не задано или равно 0, это означает, что правило используется как для разбора запроса, так и для создания URL. Если оно равно PARSING_ONLY, правило используется только для разбора запроса. Если оно равно CREATION_ONLY, правило используется только для создания URL.

public integer $mode = null

$name общедоступное свойство

Имя этого правила. Если не задано, оно будет использовать $pattern в качестве имени.

public string $name = null

$normalizer общедоступное свойство (доступно с версии 2.0.10)

Конфигурация для yii\web\UrlNormalizer, используемая этим правилом. Если null, будет использоваться yii\web\UrlManager::$normalizer, если false, нормализация будет пропущена для этого правила.

public yii\web\UrlNormalizer|array|false|null $normalizer = null

$pattern общедоступное свойство

Шаблон, используемый для разбора и создания части пути URL.

См. также:

  • $host
  • $placeholders
public string $pattern = null

$placeholders защищенное свойство (доступно с версии 2.0.7)

Список плейсхолдеров для сопоставления имен параметров. Используется в parseRequest(), createUrl(). При инициализации правила имена параметров из $pattern будут заменены на плейсхолдеры. Этот массив содержит соответствия между исходными именами параметров и их плейсхолдерами. Ключами массива являются плейсхолдеры, а значениями — исходные имена.

См. также:

  • parseRequest()
  • createUrl()
protected array $placeholders = []

$route общедоступное свойство

Маршрут к действию контроллера

public string $route = null

$suffix общедоступное свойство

Суффикс URL, используемый для этого правила. Например, ".html" можно использовать, чтобы URL выглядел как ссылка на статическую HTML-страницу. Если не задано, используется значение yii\web\UrlManager::$suffix.

public string $suffix = null

$verb общедоступное свойство

HTTP-глагол (например, GET, POST, DELETE), которому должно соответствовать это правило. Используйте массив для представления нескольких глаголов, которым может соответствовать это правило. Если это свойство не задано, правило может соответствовать любому глаголу. Обратите внимание, что это свойство используется только при разборе запроса. Оно игнорируется при создании URL.

public string|array $verb = null

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

__toString() public метод (доступен с версии 2.0.11)

public string __toString ( )

createUrl() public метод

Создаёт URL в соответствии с заданным маршрутом и параметрами.

public string|boolean createUrl ( $manager, $route, $params )
$manager yii\web\UrlManager

Менеджер URL

$route string

Маршрут. В начале и в конце не должно быть слешей.

$params array

Параметры

return string|boolean

Созданный URL или false, если данное правило не может быть использовано для создания этого URL.

getCreateUrlStatus() public метод (доступен с версии 2.0.12)

Возвращает состояние создания URL после последнего вызова createUrl().

См. также $createStatus.

public null|integer getCreateUrlStatus ( )
return null|integer

Состояние создания URL после последнего вызова createUrl(). null если правило не предоставляет информацию о статусе создания.

getNormalizer() защищённый метод (доступен с версии 2.0.10)

protected yii\web\UrlNormalizer|null getNormalizer ( $manager )
$manager yii\web\UrlManager

Менеджер URL

getParamRules() защищённый метод (доступен с версии 2.0.6)

Возвращает список регулярных выражений для сопоставления параметра.

protected array getParamRules ( )
return array

Ключи параметров и правила регулярных выражений.

hasNormalizer() защищённый метод (доступен с версии 2.0.10)

protected boolean hasNormalizer ( $manager )
$manager yii\web\UrlManager

Менеджер URL

init() public метод

Инициализирует это правило.

public void init ( )

parseRequest() public метод

Разбирает заданный запрос и возвращает соответствующий маршрут и параметры.

public array|boolean parseRequest ( $manager, $request )
$manager yii\web\UrlManager

Менеджер URL

$request yii\web\Request

Компонент запроса

return array|boolean

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

substitutePlaceholderNames() защищённый метод (доступен с версии 2.0.7)

Перебирает $placeholders и проверяет, существует ли каждый плейсхолдер в качестве ключа в массиве $matches.

При обнаружении заменяет этот ключ плейсхолдера соответствующим именем сопоставленного параметра. Используется в parseRequest(), createUrl().

См. также $placeholders.

protected array substitutePlaceholderNames ( array $matches )
$matches array

Результат вызова preg_match()

return array

Входной массив с заменёнными ключами плейсхолдера

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-urlrule.html

Spec-Zone.ru

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