Spec-Zone.ru › Yii 2.0

Класс yii\web\GroupUrlRule

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

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

GroupUrlRule лучше всего использовать в модуле, который часто использует идентификатор модуля в качестве префикса для правил URL. Например, следующий код создаёт правило для модуля admin:

new GroupUrlRule([
    'prefix' => 'admin',
    'rules' => [
        'login' => 'user/login',
        'logout' => 'user/logout',
        'dashboard' => 'default/dashboard',
    ],
]);

// the above rule is equivalent to the following three rules:

[
    'admin/login' => 'admin/user/login',
    'admin/logout' => 'admin/user/logout',
    'admin/dashboard' => 'admin/default/dashboard',
]

В приведенном выше примере предполагается, что префикс для шаблонов и маршрутов одинаков. Их можно сделать разными, настроив $prefix и $routePrefix отдельно.

Использование GroupUrlRule более эффективно, чем непосредственное объявление отдельных правил, которые оно содержит. Это связано с тем, что GroupUrlRule может быстро определить, нужно ли обрабатывать запрос на разбор или создание URL, просто проверив, совпадает ли префикс.

Свойства

Свойство Тип Описание Определено в
$createUrlStatus null|целое число Статус создания URL после последнего вызова createUrl(). yii\web\CompositeUrlRule
$prefix строка Префикс для части шаблона каждого правила, объявленного в $rules. yii\web\GroupUrlRule
$routePrefix строка Префикс для части маршрута каждого правила, объявленного в $rules. yii\web\GroupUrlRule
$ruleConfig массив Настройка по умолчанию для правил URL. yii\web\GroupUrlRule
$rules массив Правила, содержащиеся в этом составном правиле. yii\web\GroupUrlRule

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

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

Методы

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

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

Метод Описание Определено в
createRules() Создаёт правила URL, которые должны быть включены в это составное правило. yii\web\GroupUrlRule
iterateRules() Итерируется по указанным правилам и вызывает createUrl() для каждого из них. yii\web\CompositeUrlRule

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

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

Префикс для части шаблона каждого правила, объявленного в $rules. Префикс и шаблон будут разделены слэшем.

public string $prefix = null

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

Префикс для части маршрута каждого правила, объявленного в $rules. Префикс и маршрут будут разделены слэшем. Если это свойство не задано, оно примет значение свойства $prefix.

public string $routePrefix = null

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

Настройка по умолчанию для правил URL. Индивидуальные настройки правил, указанные через $rules, будут иметь приоритет при настройке одного и того же свойства правила.

public array $ruleConfig = ['class' => 'yii\web\UrlRule']

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

Правила, содержащиеся в этом составном правиле. См. yii\web\UrlManager::$rules для формата этого свойства.

См. также:

  • $prefix
  • $routePrefix
public array $rules = []

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

createRules() защищенный метод

Создаёт правила URL, которые должны быть включены в составное правило.

защищенный yii\web\UrlRuleInterface[] createRules ( )
возвращает yii\web\UrlRuleInterface[]

Правила URL

createUrl() публичный метод

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

публичный string|boolean createUrl ( $manager, $route, $params )
$manager yii\web\UrlManager

Менеджер URL

$route string

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

$params array

Параметры

возвращает string|boolean

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

init() публичный метод

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданной конфигурацией.

публичный void init ( )

parseRequest() публичный метод

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

публичный array|boolean parseRequest ( $manager, $request )
$manager yii\web\UrlManager

Менеджер URL

$request yii\web\Request

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

возвращает array|boolean

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

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

Spec-Zone.ru

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