Зачастую название метода события делится на две части. Первая часть - время выполнения события (до или после), вторая часть - имя метода до или после которого будет выполнено событие.
События модели
- beforeValidate() - событие будет выполнено перед валидацией
- afterValidate() - событие будет выполнено после валидации
- beforeSave() - событие будет выполнено перед сохранением данных
- afterSave() - событие будет выполнено после сохранения данных
- beforeDelete() - событие будет выполнено перед удалением данных
- afterDelete() - событие будет выполнено после удаления данных
- afterConstruct() - событие будет выполнено после выполнения конструктора
- afterFind() - событие будет выполнено перед поиском данных
- beforeFind() - событие будет выполнено после поиска данных
Пример:
<?php
class Posts extends CActiveRecord {
//Ваш код ...
/**
* Действие перед проверкой данных
*
* @return boolean
*/
protected function beforeValidate() {
//Если прошла стандартная проверка данных
if (parent::beforeValidate()) {
//Если новая строка
if ($this->isNewRecord) {
$this->createDate = time();
}
return true;
} else {
retrun false;
}
}
//Ваш код ...
}
?>
Еще один пример:
<?php
class Posts extends CActiveRecord {
//Ваш код ...
/**
* Действие после поиска данных
*
* @return boolean
*/
protected function afterFind() {
//Если прошла стандартная проверка данных
$this->createDate = data('d.m.Y', $this->createDate);
return parent::afterFind();
}
//Ваш код ...
}
?>
События контроллера
- beforeAction() - событие будет выполнено перед каким-либо действием контрллера
- afterAction() - событие будет выполнено после каких-либо действий контрллера
- beforeRender() - событие будет выполнено перед отрисовкой вида
- afterRender() - событие будет выполнено после отрисовки вида
Пример:
<?php
class PostsController extends Controller {
//Ваш код ...
/**
* Действие после выполнения какого-либо экшена текущего контроллера
*
* @return boolean
*/
protected function afterAction() {
//логирование
Loger::saveLog($this->action->id, $this->id);
return parent::afterAction();
}
//Ваш код ...
}
?>
Класс CWebUser
- afterLogin() - событие будет выполнено после авторизации
- beforeLogin() - событие будет выполнено после авторизации
- afterLogout() - событие будет выполнено после выхода
Пример:
<?php
class MyWebUser extends CWebUser{
public function afterLogin($fromCookie) {
parent::afterLogin($fromCookie);
//Ваш код ...
}
}
?>
devreadwrite.com

Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Комментарии отсутствуют, Вы можете быть первым