2016-09-24 2 views
1

Я хотел бы решить очень простую и в том же важную задачу:Yii 1.1: как отслеживать ВСЕ запросы с сохранением базы данных?

Как отслеживать ВСЕХ запросов, поступающих к Yii независимо от того, могут ли они быть поданы или нет.

У меня есть следующая схема базы данных:

day relative_url count 

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

Что у меня есть. Пытался сделать это с помощью

Controller 
|_ beforeAction($action) 

, но это, кажется, отслеживать только разрешимые запросы.

P.S. Было бы еще лучше, если бы я мог отслеживать, с какого статуса пользователю был отправлен конкретный запрос. Основным интересом являются статусы 200 и 404.

ответ

1

Вы можете создать модель для таблицы запроса отслеживания и добавить к ней метод, который хранит эту информацию и запустит ее в main.php в разделе protected/views/layouts /. Каждый запрос будет запускаться с помощью main.php, чтобы вы знали, что будете захватывать каждый запрос, который идет. Например:

(внутри модели)

public function storeRequestData(){ 
    $url = "$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
    $time = time(); 

    //store values here and increment count 
} 

(внутри main.php)

TrackingTable::model()->storeRequestData() 
Смежные вопросы