Я хотел бы зарегистрировать, какие пользователи посетили сайт сегодня. Для этого мне нужно обработать посещение пользователем любой страницы сайта.
Что такое общая точка входа (код, который выполняется при любом посещении любой страницы)?
Я хотел бы зарегистрировать, какие пользователи посетили сайт сегодня. Для этого мне нужно обработать посещение пользователем любой страницы сайта.
Что такое общая точка входа (код, который выполняется при любом посещении любой страницы)?
Также вы можете создать класс BaseController, расширяющий CController, и использовать метод init. Например:
class BaseController extends CController
{
public function init()
{
$this->loggedUserId = Yii::app()->user->getId();
$this->isLogged = !empty($this->loggedUserId);
if ($this->isLogged) {
// some log actions
}
return parent::init();
}
}
Я думаю, если вы хотите регистрировать, какие пользователи посещали сайт, вам следует реализовать эту функцию в компоненте user
(по умолчанию CWebUser
). Вы можете расширить этот класс и указать его в конфигурации для пользовательского компонента:
'user'=>array(
// enable cookie-based authentication
'allowAutoLogin'=>true,
'class'=>'MyWebUser',
),
public function init(){ parent::init(); //your code here }
и метод регистрации вызовов там.
- person Goodnickoff; 06.06.2014
Предполагая, что вы говорите о Yii 1.1
Есть onBeginRequest и onEndRequest, к которым можно прикрепить свою логику:
Пример (в соответствующем файле, скрипт index.php/custom loader, простой)
Yii::app()->onBeginRequest = function(CEvent $event) { handle_event($event); };
Или прикрепите пользовательское поведение к этому событию в своей конфигурации:
'behaviors' => array(
'onbeginRequest' => array(
'class' => 'application.components.AnalyticsBehaviour',
)
)
и обрабатывать в поведении.
index.php
— это то, на что все указывает .htaccess. - person Pitchinnate   schedule 06.06.2014