Spec-Zone.ru › Yii 1.1

CViewAction

Пакет system.web.actions
Наследование класс CViewAction » CAction » CComponent
Реализует IAction
С момента 1.0
Исходный код framework/web/actions/CViewAction.php
CViewAction представляет собой действие, отображающее представление в соответствии с заданным пользователем параметром.

По умолчанию, отображаемое представление задаётся через параметр view GET. Имя параметра GET можно настроить с помощью viewParam. Если пользователь не предоставляет параметр GET, будет отображено представление по умолчанию, заданное в defaultView.

Пользователи задают представление в формате path.to.view, что переводится в имя представления BasePath/path/to/view, где BasePath задаётся basePath.

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

Свойства

Свойство Тип Описание Определено в
basePath строка базовый путь для представлений. CViewAction
controller CController контроллер, владелец данного действия. CAction
defaultView строка имя представления по умолчанию, когда пользователь не предоставляет параметр GET viewParam. CViewAction
id строка идентификатор данного действия CAction
layout смешанный имя макета, применяемого к представлениям. CViewAction
renderAsText булево представление должно быть отображено как PHP-скрипт или статический текст. CViewAction
requestedView строка Возвращает имя представления, запрошенного пользователем. CViewAction
view строка имя представления для отображения. CViewAction
viewParam строка имя параметра GET, содержащего имя запрошенного представления. CViewAction

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. CComponent
__construct() Конструктор. CAction
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. 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
getController() Возвращает контроллер, владелец этого действия. CAction
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getId() Возвращает идентификатор этого действия CAction
getRequestedView() Возвращает имя представления, запрошенного пользователем. CViewAction
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли у события присоединённые обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
onAfterRender() Срабатывает сразу после того, как действие вызовет метод render. CViewAction
onBeforeRender() Срабатывает сразу перед тем, как действие вызовет метод render. CViewAction
raiseEvent() Возбуждает событие. CComponent
run() Выполняет действие. CViewAction
runWithParams() Выполняет действие с предоставленными параметрами запроса. CAction
END_OF_DOCUMENT_MARKER

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

Метод Описание Определено в
resolveView() Преобразует указанный пользователем вид в допустимое имя вида. CViewAction
runWithParamsInternal() Выполняет метод объекта с предоставленными именованными параметрами. CAction

События

Событие Описание Определено в
onBeforeRender Срабатывает непосредственно перед тем, как действие вызовет метод render. CViewAction
onAfterRender Срабатывает сразу после того, как действие вызовет метод render. CViewAction

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

basePath свойство

public string $basePath;

базовый путь для представлений. По умолчанию равен 'pages'. Базовый путь будет добавлен в качестве префикса к любому указанному пользователем представлению страницы. Например, если пользователь запросит tutorial.chap1, соответствующее имя представления будет pages/tutorial/chap1, предполагая, что базовый путь равен pages. Фактический файл представления определяется методом CController::getViewFile.

См. также

  • CController::getViewFile

defaultView свойство

public string $defaultView;

имя представления по умолчанию, когда пользователь не предоставляет параметр GET viewParam. По умолчанию равно 'index'. Это должно быть в формате 'путь.к.представлению', аналогично тому, что указано в параметре GET.

См. также

  • basePath

layout свойство

public mixed $layout;

имя макета, которое будет применено к представлениям. Оно будет присвоено свойству CController::layout перед отрисовкой представления. По умолчанию равно null, что означает использование макета контроллера. Если false, макет не будет применён.

renderAsText свойство

public boolean $renderAsText;

определяет, должно ли представление отображаться как PHP-скрипт или статический текст. По умолчанию равно false.

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

public string getRequestedView()

Возвращает имя представления, запрошенного пользователем. Если пользователь не указывает представление, возвращается значение defaultView.

view свойство

public string $view;

имя представления, которое будет отрисовано. Это свойство будет установлено после разрешения запрошенного пользователем представления.

viewParam свойство

public string $viewParam;

имя параметра GET, содержащего имя запрошенного представления. По умолчанию равно 'view'.

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

getRequestedView() метод

public string getRequestedView()
{return} строка имя представления, запрошенного пользователем. Оно имеет формат 'путь.к.представлению'.
Исходный код: framework/web/actions/CViewAction.php#80 (показать)
public function getRequestedView()
{
    if(
$this->_viewPath===null)
    {
        if(!empty(
$_GET[$this->viewParam]) && is_string($_GET[$this->viewParam]))
            
$this->_viewPath=$_GET[$this->viewParam];
        else
            
$this->_viewPath=$this->defaultView;
    }
    return 
$this->_viewPath;
}

Возвращает имя представления, запрошенного пользователем. Если пользователь не указывает представление, возвращается значение defaultView.

onAfterRender() метод

public void onAfterRender(CEvent $event)
$event CEvent параметр события
Исходный код: framework/web/actions/CViewAction.php#163 (показать)
public function onAfterRender($event)
{
    
$this->raiseEvent('onAfterRender',$event);
}

Вызывается сразу после того, как действие вызывает метод render.

onBeforeRender() метод

public void onBeforeRender(CEvent $event)
$event CEvent параметр события
Исходный код: framework/web/actions/CViewAction.php#154 (показать)
public function onBeforeRender($event)
{
    
$this->raiseEvent('onBeforeRender',$event);
}

Вызывается сразу перед тем, как действие вызовет метод render. Обработчики событий могут установить свойство CEvent::handled в true, чтобы остановить дальнейшую отрисовку представления.

resolveView() метод

protected string resolveView(string $viewPath)
$viewPath строка указанное пользователем представление в формате 'путь.к.представлению'.
{return} строка полностью разрешённое представление в формате 'путь/к/представлению'.
Исходный код: framework/web/actions/CViewAction.php#98 (показать)
protected function resolveView($viewPath)
{
    
// start with a word char and have word chars, dots and dashes only
    
if(preg_match('/^\w[\w\.\-]*$/',$viewPath))
    {
        
$view=strtr($viewPath,'.','/');
        if(!empty(
$this->basePath))
            
$view=$this->basePath.'/'.$view;
        if(
$this->getController()->getViewFile($view)!==false)
        {
            
$this->view=$view;
            return;
        }
    }
    throw new 
CHttpException(404,Yii::t('yii','The requested view "{name}" was not found.',
        array(
'{name}'=>$viewPath)));
}

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

run() метод

public void run()
Исходный код: framework/web/actions/CViewAction.php#121 (показать)
public function run()
{
    
$this->resolveView($this->getRequestedView());
    
$controller=$this->getController();
    if(
$this->layout!==null)
    {
        
$layout=$controller->layout;
        
$controller->layout=$this->layout;
    }

    
$this->onBeforeRender($event=new CEvent($this));
    if(!
$event->handled)
    {
        if(
$this->renderAsText)
        {
            
$text=file_get_contents($controller->getViewFile($this->view));
            
$controller->renderText($text);
        }
        else
            
$controller->render($this->view);
        
$this->onAfterRender(new CEvent($this));
    }

    if(
$this->layout!==null)
        
$controller->layout=$layout;
}

Выполняет действие. Этот метод отображает представление, запрошенное пользователем.

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

Spec-Zone.ru

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