CAction
| Пакет | system.web.actions |
|---|---|
| Наследование | абстрактный класс CAction » CComponent |
| Реализует | IAction |
| Подклассы | CCaptchaAction, CInlineAction, CViewAction, CWebServiceAction |
| С версии | 1.0 |
| Исходный код | framework/web/actions/CAction.php |
CAction — базовый класс для всех классов действий контроллера.
CAction предоставляет способ разделить сложный контроллер на более мелкие действия в отдельных файлах классов.
Производные классы должны реализовать run(), который вызывается контроллером при запросе действия.
Экземпляр действия может получить доступ к своему контроллеру через свойство controller.
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