Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取有关用户在Yii2中进入哪个控制器的次数的度量_Yii2 - Fatal编程技术网

如何获取有关用户在Yii2中进入哪个控制器的次数的度量

如何获取有关用户在Yii2中进入哪个控制器的次数的度量,yii2,Yii2,如何获取有关用户进入哪个控制器的次数的指标。 我有一个Yii2系统,我需要知道用户进入哪个控制器的次数。有扩展吗?有什么想法吗?您可以创建一个简单的行为来提交必要的数据。此行为将处理before action事件,并将度量放入存储中,例如: namespace app\behavior; use yii\base\Behavior; use yii\base\Application; use yii\base\ActionEvent; class ActionMetric extends B

如何获取有关用户进入哪个控制器的次数的指标。
我有一个Yii2系统,我需要知道用户进入哪个控制器的次数。有扩展吗?有什么想法吗?

您可以创建一个简单的行为来提交必要的数据。此行为将处理before action事件,并将度量放入存储中,例如:

namespace app\behavior;

use yii\base\Behavior;
use yii\base\Application;
use yii\base\ActionEvent;

class ActionMetric extends Behavior
{

    public function events()
    {
        return [
            Application::EVENT_BEFORE_ACTION => 'run'
        ];
    }

    public function run(ActionEvent $event)
    {
        $actionId = $event->action->id;
        $controllerId = $event->action->controller->id;
        $userId = Yii::$app->user->id;
        //Here you will implement the metric saving into your storage
    }
}
此外,还必须将此行为附加到应用程序,例如在配置文件中

[
    'as behaviorName' => [
         'class' => 'app\behavior\ActionMetric';
    ], 
]

您可以创建一个扩展
yii\web\Controller
BaseController
,并添加一个
beforeAction()
,在其中您将编写捕获用户和目标
action
Controller
的逻辑,然后从
BaseController
扩展所有控制器,您应该添加更多的描述以及您迄今为止所做的工作,您的代码在哪里?您需要将其添加到此处,然后您将得到正确的答案。搜索审核扩展。。请看一下yii网站。。