Класс 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.
См. также:
public string $pattern = null
$placeholders защищенное свойство (доступно с версии 2.0.7)
Список плейсхолдеров для сопоставления имен параметров. Используется в parseRequest(), createUrl(). При инициализации правила имена параметров из $pattern будут заменены на плейсхолдеры. Этот массив содержит соответствия между исходными именами параметров и их плейсхолдерами. Ключами массива являются плейсхолдеры, а значениями — исходные имена.
См. также:
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 или |
getCreateUrlStatus() public метод (доступен с версии 2.0.12)
Возвращает состояние создания URL после последнего вызова createUrl().
См. также $createStatus.
| public null|integer getCreateUrlStatus ( ) | ||
|---|---|---|
| return | null|integer |
Состояние создания URL после последнего вызова createUrl(). |
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 |
Результат разбора. Маршрут и параметры возвращаются как массив. Если |
substitutePlaceholderNames() защищённый метод (доступен с версии 2.0.7)
Перебирает $placeholders и проверяет, существует ли каждый плейсхолдер в качестве ключа в массиве $matches.
При обнаружении заменяет этот ключ плейсхолдера соответствующим именем сопоставленного параметра. Используется в parseRequest(), createUrl().
См. также $placeholders.
| protected array substitutePlaceholderNames ( array $matches ) | ||
|---|---|---|
| $matches | array |
Результат вызова |
| 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