Класс yii\base\Widget
Widget — базовый класс для виджетов.
Дополнительные сведения и информация об использовании Widget см. в статье руководства по виджетам.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $autoIdPrefix | строка | Префикс для автоматически сгенерированных идентификаторов виджета. | yii\base\Widget |
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений. | yii\base\Component |
| $counter | целое число | Счётчик, используемый для генерации $id для виджетов. | yii\base\Widget |
| $id | строка | Идентификатор виджета. | yii\base\Widget |
| $stack | yii\base\Widget[] | Виджеты, которые в данный момент отрисовываются (но не завершены). | yii\base\Widget |
| $view | yii\web\View | Объект представления, который может использоваться для отрисовки представлений или файлов представления. | yii\base\Widget |
| $viewPath | строка | Директория, содержащая файлы представлений для этого виджета. | yii\base\Widget |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| afterRun() | Этот метод вызывается сразу после выполнения виджета. | yii\base\Widget |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| beforeRun() | Этот метод вызывается непосредственно перед выполнением виджета. | yii\base\Widget |
| begin() | Начало работы виджета. | yii\base\Widget |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| end() | Завершение работы виджета. | yii\base\Widget |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все присоединённые к этому компоненту поведения. | yii\base\Component |
| getId() | Возвращает идентификатор виджета. | yii\base\Widget |
| getView() | Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений. | yii\base\Widget |
| getViewPath() | Возвращает директорию, содержащую файлы представления для этого виджета. | yii\base\Widget |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Widget |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| render() | Рендерит представление. | yii\base\Widget |
| renderFile() | Рендерит файл представления. | yii\base\Widget |
| run() | Выполняет виджет. | yii\base\Widget |
| setId() | Устанавливает идентификатор виджета. | yii\base\Widget |
| setView() | Устанавливает объект представления, который будет использоваться этим виджетом. | yii\base\Widget |
| trigger() | Вызывает событие. | yii\base\Component |
| widget() | Создаёт экземпляр виджета и запускает его. | yii\base\Widget |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_RUN | yii\base\WidgetEvent | Событие, поднимаемое сразу после выполнения виджета. (доступно начиная с версии 2.0.11) | yii\base\Widget |
| EVENT_BEFORE_RUN | yii\base\WidgetEvent | Событие, поднимаемое непосредственно перед выполнением виджета. (доступно начиная с версии 2.0.11) | yii\base\Widget |
| EVENT_INIT | yii\base\Event | Событие, которое срабатывает, когда виджет инициализируется через init(). (доступно начиная с версии 2.0.11) | yii\base\Widget |
Подробное описание свойств
$autoIdPrefix общедоступное статическое свойство
Префикс для автоматически сгенерированных идентификаторов виджетов.
См. также getId().
public static string $autoIdPrefix = 'w'
$counter общедоступное статическое свойство
Счётчик, используемый для генерации $id для виджетов.
public static integer $counter = 0
$id общедоступное свойство
Идентификатор виджета.
public string getId ( $autoGenerate = true )
public void setId ( $value )
$stack общедоступное статическое свойство
Виджеты, которые в настоящее время рендерятся (не завершены). Это свойство поддерживается методами begin() и end().
public static yii\base\Widget[] $stack = []
$view общедоступное свойство
Объект представления, который можно использовать для рендеринга представлений или файлов представлений.
public yii\web\View getView ( )
public void setView ( $view )
$viewPath общедоступное только для чтения свойство
Директория, содержащая файлы представлений для этого виджета.
public string getViewPath ( )
Подробное описание методов
afterRun() public method (available since version 2.0.11)
Этот метод вызывается сразу после выполнения виджета.
Метод вызовет событие EVENT_AFTER_RUN. Возвращаемое значение метода будет использовано в качестве возвращаемого значения виджета.
Если вы переопределите этот метод, ваш код должен выглядеть следующим образом:
public function afterRun($result)
{
$result = parent::afterRun($result);
// your custom code here
return $result;
}
| public mixed afterRun ( $result ) | ||
|---|---|---|
| $result | mixed |
Результат выполнения виджета. |
| return | mixed |
Обработанный результат виджета. |
beforeRun() public method (available since version 2.0.11)
Этот метод вызывается непосредственно перед выполнением виджета.
Метод вызовет событие EVENT_BEFORE_RUN. Возвращаемое значение метода определит, следует ли продолжить выполнение виджета.
При переопределении этого метода убедитесь, что вы вызываете родительскую реализацию, как показано ниже:
public function beforeRun()
{
if (!parent::beforeRun()) {
return false;
}
// your custom code here
return true; // or false to not run the widget
}
| public boolean beforeRun ( ) | ||
|---|---|---|
| return | boolean |
Следует ли продолжить выполнение виджета. |
begin() public static method
Начинает работу виджета.
Этот метод создаёт экземпляр вызываемого класса. Он применит конфигурацию к созданному экземпляру. Позже должен быть вызван соответствующий метод end(). Так как некоторые виджеты могут использовать буферизацию вывода, вызов end() должен быть выполнен в том же представлении, чтобы избежать нарушения вложенности буферов вывода.
См. также end().
| public static static begin ( $config = [] ) | ||
|---|---|---|
| $config | array |
Пары «имя-значение», которые будут использованы для инициализации свойств объекта |
| return | static |
Новый созданный экземпляр виджета |
end() public static method
Завершает работу виджета.
Обратите внимание, что результат рендеринга виджета выводится непосредственно.
См. также begin().
| public static static end ( ) | ||
|---|---|---|
| return | static |
Экземпляр виджета, который завершается. |
| throws | yii\base\InvalidCallException | |
getId() public method
Возвращает идентификатор виджета.
| public string getId ( $autoGenerate = true ) | ||
|---|---|---|
| $autoGenerate | boolean |
Следует ли сгенерировать идентификатор, если он ранее не был задан |
| return | string |
Идентификатор виджета. |
getView() public method
Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представлений.
Методы render() и renderFile() будут использовать этот объект представления для реализации фактического рендеринга представления. Если не задано, он будет по умолчанию использовать компонент «представление» приложения.
| public yii\web\View getView ( ) | ||
|---|---|---|
| return | yii\web\View |
Объект представления, который можно использовать для рендеринга представлений или файлов представлений. |
getViewPath() public method
Возвращает директорию, содержащую файлы представления для этого виджета.
Реализация по умолчанию возвращает поддиректорию «views» в директории, содержащей файл класса виджета.
| public string getViewPath ( ) | ||
|---|---|---|
| return | string |
Директория, содержащая файлы представления для этого виджета. |
init() public method
Инициализирует объект.
Этот метод вызывается в конце конструктора. Реализация по умолчанию вызовет событие EVENT_INIT.
| public void init ( ) |
|---|
render() public method
Рендерит представление.
Представление, подлежащее рендерингу, может быть указано в одном из следующих форматов:
- Путь алиас (например, "@app/views/site/index");
- Абсолютный путь в приложении (например, "//site/index"): имя представления начинается с двойных слешей. Фактический файл представления будет искаться в пути представления приложения.
- Абсолютный путь в модуле (например, "/site/index"): имя представления начинается с одного слеша. Фактический файл представления будет искаться в пути представления текущего активного модуля.
- Относительный путь (например, "index"): фактический файл представления будет искаться в $viewPath.
Если имя представления не содержит расширения файла, будет использоваться по умолчанию .php.
| public string render ( $view, $params = [] ) | ||
|---|---|---|
| $view | string |
Имя представления. |
| $params | array |
Параметры (пары «имя-значение»), которые должны быть доступны в представлении. |
| return | string |
Результат рендеринга. |
| throws | yii\base\InvalidParamException |
если файл представления не существует. |
renderFile() public method
Рендерит файл представления.
| public string renderFile ( $file, $params = [] ) | ||
|---|---|---|
| $file | string |
Файл представления, который нужно рендерить. Это может быть путь к файлу или алиас пути. |
| $params | array |
Параметры (пары «имя-значение»), которые должны быть доступны в представлении. |
| return | string |
Результат рендеринга. |
| throws | yii\base\InvalidParamException |
если файл представления не существует. |
run() public method
Выполняет виджет.
| public string run ( ) | ||
|---|---|---|
| return | string |
Результат выполнения виджета, который должен быть выведен. |
setId() public method
Устанавливает идентификатор виджета.
| public void setId ( $value ) | ||
|---|---|---|
| $value | string |
Идентификатор виджета. |
setView() public method
Устанавливает объект представления, который будет использоваться этим виджетом.
| public void setView ( $view ) | ||
|---|---|---|
| $view | yii\base\View |
Объект представления, который можно использовать для рендеринга представлений или файлов представлений. |
widget() public static method
Создаёт экземпляр виджета и выполняет его.
Результат рендеринга виджета возвращается этим методом.
| public static string widget ( $config = [] ) | ||
|---|---|---|
| $config | array |
Пары «имя-значение», которые будут использованы для инициализации свойств объекта |
| return | string |
Результат рендеринга виджета. |
| throws | Exception | |
Подробности событий
EVENT_AFTER_RUN событие типа yii\base\WidgetEvent (доступно начиная с версии 2.0.11)
Событие, поднимаемое сразу после выполнения виджета.
EVENT_BEFORE_RUN событие типа yii\base\WidgetEvent (доступно начиная с версии 2.0.11)
Событие, поднимаемое непосредственно перед выполнением виджета. Вы можете установить yii\base\WidgetEvent::$isValid в значение false, чтобы отменить выполнение виджета.
EVENT_INIT событие типа yii\base\Event (доступно начиная с версии 2.0.11)
Событие, которое срабатывает, когда виджет инициализируется с помощью init().
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-base-widget.html