Spec-Zone.ru › Yii 1.1

CCodeFile

Пакет system.gii
Наследование class CCodeFile » CComponent
С версии 1.1.2
Исходный код framework/gii/CCodeFile.php
CCodeFile представляет файл кода, который генерируется.

Свойства публичного доступа

Свойство Тип Описание Определено в
content mixed генерированный код. CCodeFile
error string ошибка, возникшая при сохранении кода в файл CCodeFile
operation string выполняемая операция CCodeFile
path string путь к файлу, в который должен быть сохранён новый код. CCodeFile
relativePath string путь к файлу кода относительно базового пути приложения. CCodeFile
type string расширение файла кода (например, php, txt) CCodeFile

Методы публичного доступа

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. CComponent
__construct() Конструктор. CCodeFile
__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
getRelativePath() Возвращает путь к файлу кода относительно базового пути приложения. CCodeFile
getType() Возвращает расширение файла кода (например, php, txt) CCodeFile
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикреплённые обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent
save() Сохраняет код в файл path. CCodeFile

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

content свойство

public mixed $content;

генерированный код. Если он равен null, это означает, что path следует рассматривать как каталог.

error свойство

public string $error;

ошибка, возникшая при сохранении кода в файл

operation свойство

public string $operation;

выполняемая операция

path свойство

public string $path;

путь к файлу, в который должен быть сохранён новый код.

relativePath свойство только для чтения

public string getRelativePath()

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

type свойство только для чтения

public string getType()

расширение файла кода (например, php, txt)

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

__construct() метод

public void __construct(string $path, string $content)
$path string путь к файлу, в который должен быть сохранён новый код.
$content string генерированный код
Исходный код: framework/gii/CCodeFile.php#50 (показать)
public function __construct($path,$content)
{
    
$this->path=strtr($path,array('/'=>DIRECTORY_SEPARATOR,'\\'=>DIRECTORY_SEPARATOR));
    
$this->content=$content;
    if(
is_file($path))
        
$this->operation=file_get_contents($path)===$content ? self::OP_SKIP : self::OP_OVERWRITE;
    elseif(
$content===null)  // is dir
        
$this->operation=is_dir($path) ? self::OP_SKIP : self::OP_NEW;
    else
        
$this->operation=self::OP_NEW;
}

Конструктор.

getRelativePath() метод

public string getRelativePath()
{return} string путь к файлу кода относительно базового пути приложения.
Исходный код: framework/gii/CCodeFile.php#116 (показать)
public function getRelativePath()
{
    if(
strpos($this->path,Yii::app()->basePath)===0)
        return 
substr($this->path,strlen(Yii::app()->basePath)+1);
    else
        return 
$this->path;
}

getType() метод

public string getType()
{return} string расширение файла кода (например, php, txt)
Исходный код: framework/gii/CCodeFile.php#127 (показать)
public function getType()
{
    if((
$pos=strrpos($this->path,'.'))!==false)
        return 
substr($this->path,$pos+1);
    else
        return 
'unknown';
}

save() метод

public void save()
Исходный код: framework/gii/CCodeFile.php#65 (показать)
public function save()
{
    
$module=Yii::app()->controller->module;
    if(
$this->content===null)  // a directory
    
{
        if(!
is_dir($this->path))
        {
            
$oldmask=@umask(0);
            
$result=@mkdir($this->path,$module->newDirMode,true);
            @
umask($oldmask);
            if(!
$result)
            {
                
$this->error="Unable to create the directory '{$this->path}'.";
                return 
false;
            }
        }
        return 
true;
    }

    if(
$this->operation===self::OP_NEW)
    {
        
$dir=dirname($this->path);
        if(!
is_dir($dir))
        {
            
$oldmask=@umask(0);
            
$result=@mkdir($dir,$module->newDirMode,true);
            @
umask($oldmask);
            if(!
$result)
            {
                
$this->error="Unable to create the directory '$dir'.";
                return 
false;
            }
        }
    }
    if(@
file_put_contents($this->path,$this->content)===false)
    {
        
$this->error="Unable to write the file '{$this->path}'.";
        return 
false;
    }
    else
    {
        
$oldmask=@umask(0);
        @
chmod($this->path,$module->newFileMode);
        @
umask($oldmask);
    }
    return 
true;
}

Сохраняет код в файл path.

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

Spec-Zone.ru

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