Класс yii\web\View
| Наследование | yii\web\View » yii\base\View » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/web/View.php |
View представляет собой объект представления в шаблоне MVC.
View предоставляет набор методов (например, render()) для целей отображения.
View по умолчанию настроен как компонент приложения в yii\base\Application. Вы можете получить доступ к этому экземпляру через Yii::$app->view.
Вы можете изменить его конфигурацию, добавив массив в вашу конфигурацию приложения под components, как показано в следующем примере:
'view' => [
'theme' => 'app\themes\MyTheme',
'renderers' => [
// you may add Smarty or Twig renderer here
]
// ...
]
Дополнительную информацию и сведения о применении View см. в статье руководства о представлениях.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $assetBundles | yii\web\AssetBundle[] | Список зарегистрированных пакетов ресурсов. | yii\web\View |
| $assetManager | yii\web\AssetManager | Менеджер ресурсов. | yii\web\View |
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений. | yii\base\Component |
| $blocks | array | Список именованных блоков вывода. | yii\base\View |
| $cacheStack | array | Список активных фрагментных кэширующих виджетов. | yii\base\View |
| $context | yii\base\ViewContextInterface | Контекст, в рамках которого вызывается метод renderFile(). | yii\base\View |
| $css | array | Зарегистрированные блоки CSS-кода. | yii\web\View |
| $cssFiles | array | Зарегистрированные CSS-файлы. | yii\web\View |
| $defaultExtension | string | Расширение по умолчанию для файлов представления. | yii\base\View |
| $dynamicPlaceholders | array | Список заполнителей для вставки динамического содержимого. | yii\base\View |
| $js | array | Зарегистрированные блоки JS-кода. | yii\web\View |
| $jsFiles | array | Зарегистрированные JS-файлы. | yii\web\View |
| $linkTags | array | Зарегистрированные теги link. | yii\web\View |
| $metaTags | array | Зарегистрированные мета-теги. | yii\web\View |
| $params | mixed | Настраиваемые параметры, используемые в шаблонах представления. | yii\base\View |
| $renderers | array | Список доступных рендереров, индексированных по соответствующим поддерживаемым расширениям файлов. | yii\base\View |
| $theme | yii\base\Theme|array|string | Объект темы или конфигурация для создания объекта темы. | yii\base\View |
| $title | string | Заголовок страницы. | yii\web\View |
| $viewFile | string|boolean | Файл представления, который в настоящее время рендерится. | yii\base\View |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| addDynamicPlaceholder() | Добавляет заполнитель для динамического содержимого. | yii\base\View |
| afterRender() | Этот метод вызывается сразу после того, как renderFile() рендерит файл представления. | yii\base\View |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeRender() | Этот метод вызывается непосредственно перед тем, как renderFile() рендерит файл представления. | yii\base\View |
| beginBlock() | Начинает запись блока. | yii\base\View |
| beginBody() | Отмечает начало раздела HTML тела. | yii\web\View |
| beginCache() | Начинает кеширование фрагмента. | yii\base\View |
| beginContent() | Начинает рендеринг содержимого, которое будет оформлено указанным представлением. | yii\base\View |
| beginPage() | Отмечает начало страницы. | yii\base\View |
| behaviors() | Возвращает список поведений, которые должен соблюдать этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clear() | Очищает зарегистрированные теги мета, теги ссылки, скрипты/файлы css/js. | yii\web\View |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| endBlock() | Завершает запись блока. | yii\base\View |
| endBody() | Отмечает конец раздела HTML тела. | yii\web\View |
| endCache() | Завершает кеширование фрагмента. | yii\base\View |
| endContent() | Завершает рендеринг содержимого. | yii\base\View |
| endPage() | Отмечает конец HTML страницы. | yii\web\View |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| evaluateDynamicContent() | Вычисляет заданные PHP операторы. | yii\base\View |
| getAssetManager() | Регистрирует используемый менеджер активов этого объекта представления. | yii\web\View |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getViewFile() | yii\base\View | |
| hasEventHandlers() | Возвращает значение, указывающее, прикреплен ли какой-либо обработчик к заданному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| head() | Отмечает позицию раздела HTML заголовка. | yii\web\View |
| init() | Инициализирует компонент представления. | yii\base\View |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| registerAssetBundle() | Регистрирует указанный пакет активов. | yii\web\View |
| registerCss() | Регистрирует блок кода CSS. | yii\web\View |
| registerCssFile() | Регистрирует файл CSS. | yii\web\View |
| registerJs() | Регистрирует блок кода JS. | yii\web\View |
| registerJsFile() | Регистрирует файл JS. | yii\web\View |
| registerLinkTag() | Регистрирует тег ссылки. | yii\web\View |
| registerMetaTag() | Регистрирует тег мета. | yii\web\View |
| render() | Рендерит представление. | yii\base\View |
| renderAjax() | Рендерит представление в ответ на AJAX запрос. | yii\web\View |
| renderDynamic() | Рендерит динамическое содержимое, возвращённое данными PHP операторами. | yii\base\View |
| renderFile() | Рендерит файл представления. | yii\base\View |
| renderPhpFile() | Рендерит файл представления как PHP скрипт. | yii\base\View |
| setAssetManager() | Устанавливает менеджер активов. | yii\web\View |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| findViewFile() | Находит файл представления на основе заданного имени представления. | yii\base\View |
| registerAssetFiles() | Регистрирует все файлы, предоставляемые пакетом ресурсов, включая файлы зависимых пакетов. | yii\web\View |
| renderBodyBeginHtml() | Отображает содержимое, которое должно быть вставлено в начало раздела body. | yii\web\View |
| renderBodyEndHtml() | Отображает содержимое, которое должно быть вставлено в конец раздела body. | yii\web\View |
| renderHeadHtml() | Отображает содержимое, которое должно быть вставлено в раздел head. | yii\web\View |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_RENDER | yii\base\ViewEvent | Событие, которое срабатывает после выполнения renderFile() сразу после отображения файла представления. | yii\base\View |
| EVENT_BEFORE_RENDER | yii\base\ViewEvent | Событие, которое срабатывает перед выполнением renderFile() сразу перед отображением файла представления. | yii\base\View |
| EVENT_BEGIN_BODY | \yii\web\Event | Событие, которое срабатывает методом beginBody(). | yii\web\View |
| EVENT_BEGIN_PAGE | yii\base\Event | Событие, которое срабатывает методом beginPage(). | yii\base\View |
| EVENT_END_BODY | \yii\web\Event | Событие, которое срабатывает методом endBody(). | yii\web\View |
| EVENT_END_PAGE | yii\base\Event | Событие, которое срабатывает методом endPage(). | yii\base\View |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| PH_BODY_BEGIN | '' | Внутренне используется в качестве места удержания содержимого, зарегистрированного для начала раздела body. | yii\web\View |
| PH_BODY_END | '' | Внутренне используется в качестве места удержания содержимого, зарегистрированного для конца раздела body. | yii\web\View |
| PH_HEAD | ' ' | Внутренне используется в качестве места удержания содержимого, зарегистрированного для раздела head. | yii\web\View |
| POS_BEGIN | 2 | Расположение зарегистрированного блока или файлов кода JavaScript. Это означает, что расположение находится в начале раздела body. | yii\web\View |
| POS_END | 3 | Расположение зарегистрированного блока или файлов кода JavaScript. Это означает, что расположение находится в конце раздела body. | yii\web\View |
| POS_HEAD | 1 | Расположение зарегистрированного блока или файлов кода JavaScript. Это означает, что расположение находится в разделе head. | yii\web\View |
| POS_LOAD | 5 | Расположение зарегистрированного блока кода JavaScript. Это означает, что блок кода JavaScript будет заключён в jQuery(window).load(). | yii\web\View |
| POS_READY | 4 | Расположение зарегистрированного блока кода JavaScript. Это означает, что блок кода JavaScript будет заключён в jQuery(document).ready(). | yii\web\View |
Подробное описание свойств
$assetBundles общедоступное свойство
Список зарегистрированных пакетов ресурсов. Ключи — имена пакетов, а значения — зарегистрированные объекты yii\web\AssetBundle.
См. также registerAssetBundle().
public yii\web\AssetBundle[] $assetBundles = []
$assetManager общедоступное свойство
Менеджер ресурсов. По умолчанию — компонент приложения "assetManager".
public yii\web\AssetManager getAssetManager ( )
public void setAssetManager ( $value )
$css общедоступное свойство
Зарегистрированные блоки кода CSS.
См. также registerCss().
public array $css = []
$cssFiles общедоступное свойство
Зарегистрированные файлы CSS.
См. также registerCssFile().
public array $cssFiles = []
$js общедоступное свойство
Зарегистрированные блоки кода JS.
См. также registerJs().
public array $js = []
$jsFiles общедоступное свойство
Зарегистрированные файлы JS.
См. также registerJsFile().
public array $jsFiles = []
$linkTags общедоступное свойство
Зарегистрированные теги link.
См. также registerLinkTag().
public array $linkTags = []
$metaTags общедоступное свойство
Зарегистрированные теги meta.
См. также registerMetaTag().
public array $metaTags = []
$title общедоступное свойство
Заголовок страницы.
public string $title = null
Подробное описание методов
beginBody() public method
Помечает начало раздела тела HTML.
| public void beginBody ( ) |
|---|
clear() public method
Очищает зарегистрированные мета-теги, теги ссылки, скрипты/файлы CSS/JS.
| public void clear ( ) |
|---|
endBody() public method
Помечает конец раздела тела HTML.
| public void endBody ( ) |
|---|
endPage() public method
Помечает конец HTML-страницы.
| public void endPage ( $ajaxMode = false ) | ||
|---|---|---|
| $ajaxMode | boolean |
Указывает, рендерится ли представление в режиме AJAX. Если true, JS-скрипты, зарегистрированные в позициях POS_READY и POS_LOAD, будут рендериться в конце представления, как обычные скрипты. |
getAssetManager() public method
Регистрирует менеджер ресурсов, используемый этим объектом представления.
| public yii\web\AssetManager getAssetManager ( ) | ||
|---|---|---|
| return | yii\web\AssetManager |
Менеджер ресурсов. По умолчанию, компонент приложения "assetManager". |
head() public method
Помечает позицию раздела заголовка HTML.
| public void head ( ) |
|---|
registerAssetBundle() public method
Регистрирует заданный пакет ресурсов.
Все зависимые пакеты ресурсов будут зарегистрированы.
| public yii\web\AssetBundle registerAssetBundle ( $name, $position = null ) | ||
|---|---|---|
| $name | string |
Имя класса пакета ресурсов (без ведущей косой черты) |
| $position | integer|null |
Если задано, это устанавливает минимальную позицию для файлов JavaScript. Это будет скорректировано в зависимости от позиции файла JavaScript пакета ресурсов или приведет к ошибке, если требования не могут быть выполнены. Если null, настройки позиции пакета ресурсов не будут изменены. Подробнее о позиции файлов JavaScript см. registerJsFile(). |
| return | yii\web\AssetBundle |
Зарегистрированный экземпляр пакета ресурсов |
| throws | yii\base\InvalidConfigException |
если пакет ресурсов не существует или обнаружена циклическая зависимость |
registerAssetFiles() protected method
Регистрирует все файлы, предоставляемые пакетом ресурсов, включая файлы зависимых пакетов.
Удаляет пакет из $assetBundles после регистрации файлов.
| protected void registerAssetFiles ( $name ) | ||
|---|---|---|
| $name | string |
Имя пакета для регистрации |
registerCss() public method
Регистрирует блок кода CSS.
| public void registerCss ( $css, $options = [], $key = null ) | ||
|---|---|---|
| $css | string |
Содержимое блока кода CSS для регистрации |
| $options | array |
Атрибуты HTML для тега |
| $key | string |
Ключ, идентифицирующий блок кода CSS. Если null, используется $css в качестве ключа. Если два блока кода CSS зарегистрированы с одинаковым ключом, последний перепишет предыдущий. |
registerCssFile() public method
Регистрирует файл CSS.
| public void registerCssFile ( $url, $options = [], $key = null ) | ||
|---|---|---|
| $url | string |
Файл CSS для регистрации. |
| $options | array |
Атрибуты HTML для тега link. Обратитесь к yii\helpers\Html::cssFile() для поддерживаемых опций. Следующие опции обрабатываются специально и не рассматриваются как атрибуты HTML:
|
| $key | string |
Ключ, идентифицирующий файл скрипта CSS. Если null, используется $url в качестве ключа. Если два файла CSS зарегистрированы с одинаковым ключом, последний перепишет предыдущий. |
registerJs() public method
Регистрирует блок кода JS.
| public void registerJs ( $js, $position = self::POS_READY, $key = null ) | ||
|---|---|---|
| $js | string |
Блок кода JS для регистрации |
| $position | integer |
Позиция, в которой тег скрипта JS должен быть вставлен в страницу. Возможные значения:
|
| $key | string |
Ключ, идентифицирующий блок кода JS. Если null, используется $js в качестве ключа. Если два блока кода JS зарегистрированы с одинаковым ключом, последний перепишет предыдущий. |
registerJsFile() public method
Регистрирует файл JS.
| public void registerJsFile ( $url, $options = [], $key = null ) | ||
|---|---|---|
| $url | string |
Файл JS для регистрации. |
| $options | array |
Атрибуты HTML для тега script. Следующие опции обрабатываются специально и не рассматриваются как атрибуты HTML:
См. yii\helpers\Html::jsFile() для других поддерживаемых опций. |
| $key | string |
Ключ, идентифицирующий файл скрипта JS. Если null, используется $url в качестве ключа. Если два файла JS зарегистрированы с одинаковым ключом и одинаковой позицией, последний перепишет предыдущий. Обратите внимание, что опция position имеет приоритет, поэтому файлы, зарегистрированные с одинаковым ключом, но различными значениями опции position, не будут перезаписывать друг друга. |
registerLinkTag() public method
Регистрирует тег ссылки.
Например, тег ссылки для пользовательского значка favicon может быть добавлен следующим образом:
$view->registerLinkTag(['rel' => 'icon', 'type' => 'image/png', 'href' => '/myicon.png']);
что приведет к следующему HTML: <link rel="icon" type="image/png" href="/myicon.png">.
Примечание: Для регистрации тегов ссылки для файлов стилей CSS используйте registerCssFile(), который имеет больше опций для такого тега ссылки.
| public void registerLinkTag ( $options, $key = null ) | ||
|---|---|---|
| $options | array |
Атрибуты HTML для тега ссылки. |
| $key | string |
Ключ, идентифицирующий тег ссылки. Если два тега ссылки зарегистрированы с одинаковым ключом, последний перепишет предыдущий. Если null, новый тег ссылки будет добавлен к существующим. |
registerMetaTag() public method
Регистрирует мета-тег.
Например, тег meta с описанием можно добавить следующим образом:
$view->registerMetaTag([
'name' => 'description',
'content' => 'This website is about funny raccoons.'
]);
в результате чего получится тег <meta name="description" content="This website is about funny raccoons.">.
| public void registerMetaTag ( $options, $key = null ) | ||
|---|---|---|
| $options | массив |
Атрибуты HTML для тега meta. |
| $key | строка |
Ключ, идентифицирующий тег meta. Если два тега meta зарегистрированы с одинаковым ключом, последний перепишет предыдущий. Если значение null, новый тег meta будет добавлен к существующим. |
renderAjax() public method
Отображает представление в ответ на AJAX-запрос.
Этот метод аналогичен render(), за исключением того, что он обернёт отображаемое представление вызовами beginPage(), head(), beginBody(), endBody() и endPage(). Благодаря этому, метод может встраивать в результат отображения JS/CSS скрипты и файлы, зарегистрированные в представлении.
См. также render().
| public строка renderAjax ( $view, $params = [], $context = null ) | ||
|---|---|---|
| $view | строка |
Имя представления. Обратитесь к render() для получения информации о параметрах. |
| $params | массив |
Параметры (парные имя-значение), которые будут извлечены и доступны в файле представления. |
| $context | объект |
Контекст, который представление должно использовать для отображения. Если null, будет использован существующий $context. |
| return | строка |
Результат отображения |
renderBodyBeginHtml() protected method
Отображает содержимое, которое нужно вставить в начало раздела body.
Содержимое отображается с использованием зарегистрированных блоков и файлов JS-кода.
| protected строка renderBodyBeginHtml ( ) | ||
|---|---|---|
| return | строка |
Отображённое содержимое |
renderBodyEndHtml() protected method
Отображает содержимое, которое нужно вставить в конец раздела body.
Содержимое отображается с использованием зарегистрированных блоков и файлов JS-кода.
| protected строка renderBodyEndHtml ( $ajaxMode ) | ||
|---|---|---|
| $ajaxMode | логическое |
Определяет, отображается ли представление в режиме AJAX. Если true, JS-скрипты, зарегистрированные в позициях POS_READY и POS_LOAD, будут отображены в конце представления, как обычные скрипты. |
| return | строка |
Отображённое содержимое |
renderHeadHtml() protected method
Отображает содержимое, которое нужно вставить в секцию head.
Содержимое отображается с использованием зарегистрированных тегов meta, тегов link, блоков и файлов CSS/JS-кода.
| protected строка renderHeadHtml ( ) | ||
|---|---|---|
| return | строка |
Отображённое содержимое |
setAssetManager() public method
Устанавливает менеджер активов.
| public void setAssetManager ( $value ) | ||
|---|---|---|
| $value | yii\web\AssetManager |
Менеджер активов |
Подробное описание событий
EVENT_BEGIN_BODY событие типа \yii\web\Event
Событие, которое срабатывает при вызове beginBody().
EVENT_END_BODY событие типа \yii\web\Event
Событие, которое срабатывает при вызове endBody().
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-web-view.html