Spec-Zone.ru › Yii 1.1

CAction

Пакет system.web.actions
Наследование абстрактный класс CAction » CComponent
Реализует IAction
Подклассы CCaptchaAction, CInlineAction, CViewAction, CWebServiceAction
С версии 1.0
Исходный код framework/web/actions/CAction.php
CAction — базовый класс для всех классов действий контроллера.

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

Производные классы должны реализовать run(), который вызывается контроллером при запросе действия.

Экземпляр действия может получить доступ к своему контроллеру через свойство controller.

Свойства public

Свойство Тип Описание Определено
controller CController контроллер, которому принадлежит данное действие. CAction
id string идентификатор данного действия CAction

Методы public

Метод Описание Определено
__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
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, содержит ли указанное событие присоединённые обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent
runWithParams() Выполняет действие с предоставленными параметрами запроса. CAction

Методы protected

Метод Описание Определено
runWithParamsInternal() Выполняет метод объекта с предоставленными именованными параметрами. CAction

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

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

public CController getController()

контроллер, которому принадлежит это действие.

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

public string getId()

идентификатор этого действия

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

__construct() метод

public void __construct(CController $controller, string $id)
$controller CController контроллер, которому принадлежит этот экшен.
$id string идентификатор экшена.
Исходный код: framework/web/actions/CAction.php#41 (показать)
public function __construct($controller,$id)
{
    
$this->_controller=$controller;
    
$this->_id=$id;
}

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

getController() метод

public CController getController()
{return} CController контроллер, которому принадлежит этот экшен.
Исходный код: framework/web/actions/CAction.php#50 (показать)
public function getController()
{
    return 
$this->_controller;
}

getId() метод

public string getId()
{return} string идентификатор этого экшена
Исходный код: framework/web/actions/CAction.php#58 (показать)
public function getId()
{
    return 
$this->_id;
}

runWithParams() метод (доступен начиная с v1.1.7)

public boolean runWithParams(array $params)
$params array параметры запроса (имя=>значение)
{return} boolean являются ли параметры запроса валидными
Исходный код: framework/web/actions/CAction.php#70 (показать)
public function runWithParams($params)
{
    
$method=new ReflectionMethod($this, 'run');
    if(
$method->getNumberOfParameters()>0)
        return 
$this->runWithParamsInternal($this, $method, $params);

    
$this->run();
    return 
true;
}

Выполняет экшен с предоставленными параметрами запроса. Этот метод вызывается внутри CController::runAction().

runWithParamsInternal() метод (доступен начиная с v1.1.7)

protected boolean runWithParamsInternal(mixed $object, ReflectionMethod $method, array $params)
$object смешанный тип объект, метод которого необходимо выполнить
$method ReflectionMethod рефлексия метода
$params массив именованные параметры
{return} логическое значение являются ли именованные параметры валидными
Исходный код: framework/web/actions/CAction.php#89 (показать)
protected function runWithParamsInternal($object, $method, $params)
{
    
$ps=array();
    foreach(
$method->getParameters() as $i=>$param)
    {
        
$name=$param->getName();
        if(isset(
$params[$name]))
        {
            if(
$param->isArray())
                
$ps[]=is_array($params[$name]) ? $params[$name] : array($params[$name]);
            elseif(!
is_array($params[$name]))
                
$ps[]=$params[$name];
            else
                return 
false;
        }
        elseif(
$param->isDefaultValueAvailable())
            
$ps[]=$param->getDefaultValue();
        else
            return 
false;
    }
    
$method->invokeArgs($object,$ps);
    return 
true;
}

Выполняет метод объекта с предоставленными именованными параметрами. Этот метод используется внутренне.

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

Spec-Zone.ru

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