Spec-Zone.ru › Yii 1.1

CCodeGenerator

Пакет system.gii
Наследование класс CCodeGenerator » CController » CBaseController » CComponent
С момента 1.1.2
Исходный код framework/gii/CCodeGenerator.php
CCodeGenerator — базовый класс для классов генератора кода.

CCodeGenerator — контроллер, который предопределяет несколько действий для целей генерации кода. Производным классам в основном необходимо настроить свойство codeModel и переопределить метод getSuccessMessage. Первый определяет, какую модель кода (расширяющую CCodeModel) должен использовать этот генератор, а второй должен возвращать сообщение об успехе, отображаемое при успешной генерации файлов кода.

Общественные свойства

Свойство Тип Описание Определено
action CAction действие, которое выполняется в данный момент, null, если активное действие отсутствует. CController
actionParams массив Возвращает параметры запроса, которые будут использованы для привязки параметров действия. CController
cachingStack CStack стек объектов COutputCache CController
clips CMap Возвращает список клипов. CController
codeModel строка класс модели кода. CCodeGenerator
defaultAction строка имя действия по умолчанию. CController
id строка Идентификатор контроллера CController
layout строка макет, который будет использоваться генератором. CCodeGenerator
module CWebModule модуль, к которому принадлежит этот контроллер. CController
pageTitle строка заголовок страницы CCodeGenerator
route строка маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. CController
templates массив список доступных шаблонов кода (имя=>путь) CCodeGenerator
uniqueId строка Идентификатор контроллера, который предваряется идентификатором модуля (если таковой имеется). CController
viewPath строка Возвращает путь к представлению генератора. CCodeGenerator

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

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() CController
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
accessRules() Возвращает правила доступа для данного контроллера. CController
actionCode() Действие для просмотра кода. CCodeGenerator
actionDiff() Действие для сравнения кода. CCodeGenerator
actionIndex() Действие для генерации кода. CCodeGenerator
actions() Возвращает список внешних классов действий. CController
asa() Возвращает объект поведения по имени. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
beginCache() Начинает кэширование фрагментов. CBaseController
beginClip() Начинает запись клипа. CBaseController
beginContent() Начинает отображение содержимого, которое должно быть оформлено указанной представлением. CBaseController
beginWidget() Создаёт виджет и выполняет его. CBaseController
behaviors() Возвращает список поведений, в соответствии с которыми должен работать этот контроллер. CController
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
clearPageStates() Удаляет все состояния страницы. CController
createAbsoluteUrl() Создаёт абсолютный URL для указанного действия, определённого в данном контроллере. CController
createAction() Создаёт экземпляр действия на основе имени действия. CController
createUrl() Создаёт относительный URL для указанного действия, определённого в данном контроллере. CController
createWidget() Создаёт виджет и инициализирует его. CBaseController
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик событий. CComponent
disableBehavior() Отключает прикреплённое поведение. CComponent
disableBehaviors() Отключает все прикреплённые к этому компоненту поведения. CComponent
enableBehavior() Включает прикреплённое поведение. CComponent
enableBehaviors() Включает все прикреплённые к этому компоненту поведения. CComponent
endCache() Завершает кэширование фрагментов. CBaseController
endClip() Завершает запись клипа. CBaseController
endContent() Завершает отображение содержимого. CBaseController
endWidget() Завершает выполнение указанного виджета. CBaseController
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
filterAccessControl() Метод фильтра для фильтра 'accessControl'. CController
filterAjaxOnly() Метод фильтра для фильтра 'ajaxOnly'. CController
filterPostOnly() Метод фильтра для фильтра 'postOnly'. CController
filters() Возвращает конфигурации фильтров. CController
forward() Обрабатывает запрос с использованием другого действия контроллера. CController
getAction() Возвращает действие, которое в настоящее время выполняется, null, если активного действия нет. CController
getActionParams() Возвращает параметры запроса, которые будут использоваться для привязки параметров действия. CController
getCachingStack() Возвращает стек объектов COutputCache. CController
getClips() Возвращает список клипов. CController
getEventHandlers() Возвращает список прикреплённых обработчиков событий для события. CComponent
getId() Возвращает идентификатор контроллера. CController
getLayoutFile() Ищет шаблон макета по имени макета. CController
getModule() Возвращает модуль, к которому принадлежит данный контроллер. Возвращает null, если контроллер не принадлежит ни одному модулю. CController
getPageState() Возвращает значение состояния страницы. CController
getPageTitle() Возвращает заголовок страницы. CCodeGenerator
getRoute() Возвращает маршрут (ID модуля, ID контроллера и ID действия) текущего запроса. CController
getUniqueId() Возвращает ID контроллера, который префиксен ID модуля (если имеется). CController
getViewFile() Ищет файл представления по заданному имени представления. CController
getViewPath() Возвращает путь к представлению генератора. CCodeGenerator
hasEvent() Определяет, определён ли событие. CComponent
hasEventHandler() Проверяет, есть ли у указанного события обработчики. CComponent
hasProperty() Определяет, определён ли свойство. CComponent
init() Инициализирует контроллер. CController
invalidActionParams() Этот метод вызывается, когда параметры запроса не соответствуют требованиям указанного действия. CController
isCachingStackEmpty() Возвращает, пустой ли кеш-стек. CController
missingAction() Обрабатывает запрос, действие которого не распознано. CController
processDynamicOutput() Последовательно обрабатывает динамический вывод. CController
processOutput() Последовательно обрабатывает вывод, сгенерированный методом render(). CController
raiseEvent() Вызывает событие. CComponent
recordCachingAction() Записывает вызов метода, когда в действии кеширование вывода. CController
redirect() Перенаправляет браузер на указанный URL или маршрут (контроллер/действие). CController
refresh() Обновляет текущую страницу. CController
render() Отображает представление с макетом. CController
renderClip() Отображает заданный фрагмент с предоставленными параметрами. CController
renderDynamic() Отображает динамическое содержимое, возвращённое заданной функцией обратного вызова. CController
renderDynamicInternal() Этот метод используется внутри системы. CController
renderFile() Отображает файл представления. CBaseController
renderInternal() Отображает файл представления. CBaseController
renderPartial() Отображает частичное представление. CController
renderText() Отображает статическую строку текста. CController
resolveViewFile() Находит файл представления по его имени. CController
run() Выполняет указанное действие. CController
runAction() Выполняет действие после прохождения всех фильтров. CController
runActionWithFilters() Выполняет действие с указанными фильтрами. CController
setAction() Устанавливает действие, которое в настоящее время выполняется. CController
setPageState() Сохраняет значение состояния страницы. CController
setPageTitle() Устанавливает заголовок страницы. CController
setViewPath() Устанавливает путь к представлению генератора. CCodeGenerator
widget() Создаёт и выполняет виджет. CBaseController

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

Метод Описание Определён в
afterAction() Этот метод вызывается сразу после выполнения действия. CController
afterRender() Этот метод вызывается после того, как указанное представление было отображено путём вызова render(). CController
beforeAction() Этот метод вызывается непосредственно перед выполнением действия (после всех возможных фильтров). CController
beforeRender() Этот метод вызывается в начале метода render(). CController
createActionFromMap() Создаёт экземпляр действия на основе карты действий. CController
loadPageStates() Загружает состояние страницы из скрытого поля ввода. CController
prepare() Подготавливает модель кода. CCodeGenerator
replaceDynamicOutput() Заменяет заглушки динамического контента фактическим содержимым. CController
savePageStates() Сохраняет состояние страницы в виде строки base64. CController

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

codeModel свойство

public string $codeModel;

класс модели кода. Он может быть именем класса (если его можно загрузить автоматически) или псевдонимом пути, указывающим на файл класса. Дочерние классы должны настроить это свойство с конкретным значением.

layout свойство

public string $layout;

макет, используемый генератором. По умолчанию — 'generator'.

pageTitle свойство

public string getPageTitle()
public void setPageTitle(string $value)

заголовок страницы

templates свойство

public array $templates;

список доступных шаблонов кода (имя=>путь)

viewPath свойство

public string getViewPath()
public void setViewPath(string $value)

Возвращает путь к представлению генератора. Возвращается каталог "views" в каталоге, содержащем файл класса генератора.

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

actionCode() метод

public void actionCode()
Исходный код: framework/gii/CCodeGenerator.php#80 (показать)
public function actionCode()
{
    
$model=$this->prepare();
    if(isset(
$_GET['id']) && isset($model->files[$_GET['id']]))
    {
        
$this->renderPartial('/common/code', array(
            
'file'=>$model->files[$_GET['id']],
        ));
    }
    else
        throw new 
CHttpException(404,'Unable to find the code you requested.');
}

Действие предварительного просмотра кода. Это действие отображает указанный сгенерированный код.

actionDiff() метод

public void actionDiff()
Исходный код: framework/gii/CCodeGenerator.php#98 (показать)
public function actionDiff()
{
    
Yii::import('gii.components.TextDiff');

    
$model=$this->prepare();
    if(isset(
$_GET['id']) && isset($model->files[$_GET['id']]))
    {
        
$file=$model->files[$_GET['id']];
        if(!
in_array($file->type,array('php', 'txt','js','css','sql')))
            
$diff=false;
        elseif(
$file->operation===CCodeFile::OP_OVERWRITE)
            
$diff=TextDiff::compare(file_get_contents($file->path), $file->content);
        else
            
$diff='';

        
$this->renderPartial('/common/diff',array(
            
'file'=>$file,
            
'diff'=>$diff,
        ));
    }
    else
        throw new 
CHttpException(404,'Unable to find the code you requested.');
}

Действие по сравнению кода. Это действие отображает разницу между вновь сгенерированным кодом и соответствующим существующим кодом.

actionIndex() метод

public void actionIndex()
Исходный код: framework/gii/CCodeGenerator.php#61 (показать)
public function actionIndex()
{
    
$model=$this->prepare();
    if(
$model->files!=array() && isset($_POST['generate'], $_POST['answers']))
    {
        
$model->answers=$_POST['answers'];
        
$model->status=$model->save() ? CCodeModel::STATUS_SUCCESS : CCodeModel::STATUS_ERROR;
    }

    
$this->render('index',array(
        
'model'=>$model,
    ));
}

Действие генерации кода. Это действие, которое отображает интерфейс генерации кода. Дочерние классы, в основном, должны предоставить представление «index» для сбора параметров пользователя для генерации кода.

getPageTitle() метод

public string getPageTitle()
{return} строка заголовок страницы
Исходный код: framework/gii/CCodeGenerator.php#50 (показать)
public function getPageTitle()
{
    return 
'Gii - '.ucfirst($this->id).' Generator';
}

getViewPath() метод

public string getViewPath()
{return} строка путь к представлению генератора
Исходный код: framework/gii/CCodeGenerator.php#127 (показать)
public function getViewPath()
{
    if(
$this->_viewPath===null)
    {
        
$class=new ReflectionClass(get_class($this));
        
$this->_viewPath=dirname($class->getFileName()).DIRECTORY_SEPARATOR.'views';
    }
    return 
$this->_viewPath;
}

Возвращает путь к представлению генератора. Будет возвращен каталог "views" в каталоге, содержащем файл класса генератора.

prepare() метод

protected void prepare()
Исходный код: framework/gii/CCodeGenerator.php#148 (показать)
protected function prepare()
{
    if(
$this->codeModel===null)
        throw new 
CException(get_class($this).'.codeModel property must be specified.');
    
$modelClass=Yii::import($this->codeModel,true);
    
$model=new $modelClass;
    
$model->loadStickyAttributes();
    if(isset(
$_POST[$modelClass]))
    {
        
$model->attributes=$_POST[$modelClass];
        
$model->status=CCodeModel::STATUS_PREVIEW;
        if(
$model->validate())
        {
            
$model->saveStickyAttributes();
            
$model->prepare();
        }
    }
    return 
$model;
}

Подготавливает модель кода.

setViewPath() метод

public void setViewPath(string $value)
$value строка путь к представлению генератора.
Исходный код: framework/gii/CCodeGenerator.php#140 (показать)
public function setViewPath($value)
{
    
$this->_viewPath=$value;
}

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

Spec-Zone.ru

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