Spec-Zone.ru › Yii 1.1

CViewRenderer

Package system.web.renderers
Inheritance abstract class CViewRenderer » CApplicationComponent » CComponent
Implements IApplicationComponent, IViewRenderer
Subclasses CPradoViewRenderer
Since 1.0
Source Code framework/web/renderers/CViewRenderer.php
CViewRenderer является базовым классом для классов рендереров представлений.

Рендерер представлений — это компонент приложения, который отображает представления, написанные на пользовательском синтаксисе.

После установки рендерера представлений в качестве компонента приложения 'viewRenderer', обычный процесс отображения представлений будет перехвачен рендерером. Сначала рендерер разбирает исходный файл представления, а затем отображает результирующий файл представления.

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

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

Property Type Description Defined By
behaviors array поведения, которые должны быть прикреплены к этому компоненту. CApplicationComponent
fileExtension string расширение имени файла представления. CViewRenderer
filePermission integer разрешение chmod для временных каталогов и файлов, созданных во время разбора. CViewRenderer
isInitialized boolean Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
useRuntimePath boolean хранить ли результаты разбора в каталоге времени выполнения приложения. CViewRenderer

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

Method Description Defined By
__call() Вызывает именованный метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает именованный объект поведения. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик событий. CComponent
disableBehavior() Отключает прикрепленное поведение. CComponent
disableBehaviors() Отключает все поведения, прикрепленные к этому компоненту. CComponent
enableBehavior() Включает прикрепленное поведение. CComponent
enableBehaviors() Включает все поведения, прикрепленные к этому компоненту. CComponent
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
getIsInitialized() Проверяет, был ли инициализирован этот компонент приложения. CApplicationComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли у именованного события прикрепленные обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует компонент приложения. CApplicationComponent
raiseEvent() Вызывает событие. CComponent
renderFile() Рендерит файл представления. CViewRenderer

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

Method Description Defined By
generateViewFile() Разбирает исходный файл представления и сохраняет результаты в другой файл. CViewRenderer
getViewFile() Генерирует путь к результирующему файлу представления. CViewRenderer

Краткое описание полей

fileExtension property

public string $fileExtension;

расширение имени файла представления. По умолчанию '.php'.

filePermission property

public integer $filePermission;

разрешение chmod для временных каталогов и файлов, созданных во время разбора. По умолчанию 0755 (владелец rwx, группа rx и другие rx).

useRuntimePath property

public boolean $useRuntimePath;

хранить ли результаты разбора в каталоге времени выполнения приложения. По умолчанию true. Если false, результаты разбора будут сохранены как файлы в том же каталоге, что и исходные файлы представлений, а имена файлов будут именами исходных файлов с добавленной буквой 'c'.

Краткое описание методов

generateViewFile() method

abstract protected void generateViewFile(string $sourceFile, string $viewFile)
$sourceFile string путь к исходному файлу представления
$viewFile string путь к результирующему файлу представления
Source Code: framework/web/renderers/CViewRenderer.php#54 (show)
abstract protected function generateViewFile($sourceFile,$viewFile);

Разбирает исходный файл представления и сохраняет результаты в другой файл.

getViewFile() method

protected string getViewFile(string $file)
$file string путь к файлу представления
{return} string путь к генерируемому файлу представления
Исходный код: framework/web/renderers/CViewRenderer.php#84 (показать)
protected function getViewFile($file)
{
    if(
$this->useRuntimePath)
    {
        
$crc=sprintf('%x', crc32(get_class($this).Yii::getVersion().dirname($file)));
        
$viewFile=Yii::app()->getRuntimePath().DIRECTORY_SEPARATOR.'views'.DIRECTORY_SEPARATOR.$crc.DIRECTORY_SEPARATOR.basename($file);
        if(!
is_file($viewFile))
            @
mkdir(dirname($viewFile),$this->filePermission,true);
        return 
$viewFile;
    }
    else
        return 
$file.'c';
}

Генерирует путь к результативному файлу представления.

renderFile() метод

public mixed renderFile(CBaseController $context, string $sourceFile, mixed $data, boolean $return)
$context CBaseController контроллер или виджет, который отображает файл представления.
$sourceFile string путь к файлу представления
$data смешанный тип данные, передаваемые представлению
$return boolean должны ли быть возвращены результаты рендеринга
{return} смешанный тип результат рендеринга или null, если результат рендеринга не нужен.
Исходный код: framework/web/renderers/CViewRenderer.php#66 (показать)
public function renderFile($context,$sourceFile,$data,$return)
{
    if(!
is_file($sourceFile) || ($file=realpath($sourceFile))===false)
        throw new 
CException(Yii::t('yii','View file "{file}" does not exist.',array('{file}'=>$sourceFile)));
    
$viewFile=$this->getViewFile($sourceFile);
    if(@
filemtime($sourceFile)>@filemtime($viewFile))
    {
        
$this->generateViewFile($sourceFile,$viewFile);
        @
chmod($viewFile,$this->filePermission);
    }
    return 
$context->renderInternal($viewFile,$data,$return);
}

Отображает файл представления. Этот метод необходим для IViewRenderer.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CViewRenderer

Spec-Zone.ru

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