Spec-Zone.ru › Yii 1.1

CTextHighlighter

Пакет system.web.widgets
Наследование class CTextHighlighter » COutputProcessor » CFilterWidget » CWidget » CBaseController » CComponent
Реализует IFilter
С 1.0
Исходный код framework/web/widgets/CTextHighlighter.php
CTextHighlighter выполняет подсветку синтаксиса для содержимого своего тела.

Язык синтаксиса, который необходимо применить, задаётся свойством language. В настоящее время CTextHighlighter поддерживает следующие языки: ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML. Установив showLineNumbers в значение true, можно отобразить результат подсветки с номерами строк.

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

Свойство Тип Описание Определено в
actionPrefix строка префикс для идентификаторов действий. CWidget
containerOptions массив атрибуты HTML, применяемые к элементу контейнера. CTextHighlighter
controller CController Возвращает контроллер, к которому принадлежит данный виджет. CWidget
cssFile смешанный тип CSS-файл, используемый для виджета. CTextHighlighter
id строка Возвращает ID виджета или генерирует новый, если запрошено. CWidget
isFilter логическое значение указывает, используется ли данный виджет в качестве фильтра. CFilterWidget
language строка язык, синтаксис которого необходимо использовать для подсветки. CTextHighlighter
lineNumberStyle строка стиль отображения номеров строк. CTextHighlighter
owner CBaseController Возвращает владельца/создателя этого виджета. CWidget
showLineNumbers логическое значение указывает, необходимо ли отображать номера строк в результатах подсветки. CTextHighlighter
skin смешанный тип название скина, который будет использоваться этим виджетом. CWidget
stopAction логическое значение указывает, следует ли остановить выполнение действия, когда этот виджет используется как фильтр. CFilterWidget
tabSize целое число размер табуляции. CTextHighlighter
viewPath строка Возвращает каталог, содержащий файлы представления для этого виджета. CWidget

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

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() Конструктор. CFilterWidget
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
actions() Возвращает список действий, используемых этим виджетом. CWidget
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
beginCache() Начинает кэширование фрагмента. CBaseController
beginClip() Начинает запись клипа. CBaseController
beginContent() Начинает рендеринг контента, который должен быть оформлен указанным представлением. CBaseController
beginWidget() Создает виджет и выполняет его. CBaseController
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
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
filter() Выполняет фильтрацию. CFilterWidget
getController() Возвращает контроллер, к которому принадлежит этот виджет. CWidget
getEventHandlers() Возвращает список присоединенных обработчиков событий для события. CComponent
getId() Возвращает идентификатор виджета или генерирует новый, если запрошено. CWidget
getIsFilter() Проверяет, используется ли этот виджет в качестве фильтра. CFilterWidget
getOwner() Возвращает владельца/создателя этого виджета. CWidget
getViewFile() Ищет файл скрипта представления в соответствии с именем представления. CWidget
getViewPath() Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли у указанного события прикреплённые обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
highlight() Подсвечивает контент по синтаксису указанного языка. CTextHighlighter
init() Инициализирует виджет. COutputProcessor
onProcessOutput() Срабатывает, когда вывод был получен. COutputProcessor
processOutput() Обрабатывает полученный вывод. CTextHighlighter
raiseEvent() Вызывает событие. CComponent
registerClientScript() Регистрирует необходимые CSS и JavaScript. CTextHighlighter
registerCssFile() Регистрирует необходимый файл CSS. CTextHighlighter
render() Отображает представление. CWidget
renderFile() Отображает файл представления. CBaseController
renderInternal() Отображает файл представления. CBaseController
run() Выполняет виджет. COutputProcessor
setId() Устанавливает идентификатор виджета. CWidget
widget() Создает виджет и выполняет его. CBaseController

События

Событие Описание Определено в
onProcessOutput Срабатывает, когда вывод был получен. COutputProcessor

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

containerOptions свойство

public array $containerOptions;

атрибуты HTML, которые нужно применить к контейнерному элементу. Подчеркнутое содержимое находится в элементе DIV.

cssFile свойство

public mixed $cssFile;

файл CSS, используемый для виджета. По умолчанию равен null, что означает использование файла CSS по умолчанию, включенного вместе с виджетом. Если false, файл CSS не будет использоваться. В противном случае указанный файл CSS будет включён при использовании этого виджета.

language свойство

public string $language;

язык, синтаксис которого должен использоваться для подсветки. Допустимые значения — имена файлов (без расширения), содержащиеся в 'vendors/TextHighlighter/Text/Highlighter'. В настоящее время поддерживаются следующие языки: ABAP, CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, XML. Если язык не поддерживается, он будет отображаться как обычный текст. Имена языков нечувствительны к регистру.

lineNumberStyle свойство

public string $lineNumberStyle;

стиль отображения номеров строк. Может быть 'list' или 'table'. По умолчанию 'list'.

См. также

  • showLineNumbers

showLineNumbers свойство

public boolean $showLineNumbers;

отображать ли номера строк в результатах подсветки. По умолчанию false.

См. также

  • lineNumberStyle

tabSize свойство

public integer $tabSize;

размер табуляции. По умолчанию 4.

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

highlight() метод

public string highlight(string $content)
$content string содержимое, которое нужно подсветить.
{return} string подсвеченное содержимое
Исходный код: framework/web/widgets/CTextHighlighter.php#84 (показать)
public function highlight($content)
{
    
$this->registerClientScript();

    
$options['use_language']=true;
    
$options['tabsize']=$this->tabSize;
    if(
$this->showLineNumbers)
        
$options['numbers']=($this->lineNumberStyle==='list')?HL_NUMBERS_LI:HL_NUMBERS_TABLE;

    
$highlighter=empty($this->language)?false:Text_Highlighter::factory($this->language);
    if(
$highlighter===false)
        
$o='<pre>'.CHtml::encode($content).'</pre>';
    else
    {
        
$highlighter->setRenderer(new Text_Highlighter_Renderer_Html($options));
        
$o=preg_replace('/<span\s+[^>]*>(\s*)<\/span>/','\1',$highlighter->highlight($content));
    }

    return 
CHtml::tag('div',$this->containerOptions,$o);
}

Подсвечивает содержимое по синтаксису указанного языка.

processOutput() метод

public void processOutput(string $output)
$output string захваченный вывод для обработки
Исходный код: framework/web/widgets/CTextHighlighter.php#73 (показать)
public function processOutput($output)
{
    
$output=$this->highlight($output);
    
parent::processOutput($output);
}

Обрабатывает полученный вывод. Этот метод подсвечивает вывод в соответствии с синтаксисом указанного языка.

registerClientScript() метод

public void registerClientScript()
Исходный код: framework/web/widgets/CTextHighlighter.php#108 (показать)
public function registerClientScript()
{
    if(
$this->cssFile!==false)
        
self::registerCssFile($this->cssFile);
}

Регистрирует необходимый CSS и JavaScript.

registerCssFile() метод

public static void registerCssFile(string $url=NULL)
$url string URL CSS. Если null, будет использован URL по умолчанию.
Исходный код: framework/web/widgets/CTextHighlighter.php#118 (показать)
public static function registerCssFile($url=null)
{
    if(
$url===null)
        
$url=CHtml::asset(Yii::getPathOfAlias('system.vendors.TextHighlighter.highlight').'.css');
    
Yii::app()->getClientScript()->registerCssFile($url);
}

Регистрирует необходимый файл CSS.

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

Spec-Zone.ru

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