Yii 1.1:如何使用数据库持久性跟踪所有请求?

时间:2016-09-24 10:02:49

标签: php yii

我想解决一个非常简单而又重要的任务:

  

如何跟踪来自Yii的所有请求,无论是否可以提供服务。

我有以下数据库方案:

day    relative_url    count

我需要的是在用户请求特定网址的某一天更新 count

我有什么。尝试使用

进行操作
Controller
|_ beforeAction($action)

但它似乎只跟踪可解析的请求。

P.S。如果我可以跟踪特定请求提供给用户的状态会更好。主要兴趣是状态200和404。

1 个答案:

答案 0 :(得分:1)

您可以为跟踪请求表创建一个模型,并为其添加一个存储该信息的方法,并在protected.view / layouts /下的main.php中运行它。每个请求都将通过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()