Yii2中每个请求的跟踪数据

Yii2中每个请求的跟踪数据,yii2,Yii2,在代码中,跟踪用户上次访问日期或每个应用程序请求中应跟踪的任何数据的最佳位置是什么?扩展yii\web\Controller是个好主意吗?您可以使用基本控制器,当然这是个好主意。但还有另一种更优雅的方法。您可以执行以下操作: 1-将组件添加到组件目录中,例如(MyTrackingClass): 2-将MyTrackingClass组件添加到配置文件中的组件数组中: 'components' => [ 'MyTrackingClass'=>[ 'class'=&

在代码中,跟踪用户上次访问日期或每个应用程序请求中应跟踪的任何数据的最佳位置是什么?扩展yii\web\Controller是个好主意吗?

您可以使用基本控制器,当然这是个好主意。但还有另一种更优雅的方法。您可以执行以下操作:

1-将组件添加到组件目录中,例如(
MyTrackingClass
):

2-将
MyTrackingClass
组件添加到配置文件中的组件数组中:

'components' => [
    'MyTrackingClass'=>[
        'class'=>'app\components\MyTrackingClass'
     ],
     //other components
'bootstrap' => ['log','MyTrackingClass'],
3-将
MyTrackingClass
添加到配置文件中的
bootstarp
数组中:

'components' => [
    'MyTrackingClass'=>[
        'class'=>'app\components\MyTrackingClass'
     ],
     //other components
'bootstrap' => ['log','MyTrackingClass'],
现在,您可以看到在
init()
方法中编写的所有内容都将在每个请求、每个
模块、控制器、操作等中执行

请注意,如果您不需要使用
事件
行为
,您可以使用
\yii\base\Object
而不是
\yii\base\Component