1 回答
TA贡献1824条经验 获得超6个赞
您正在寻找活动日志:
你可以在其中创建一个公共类和一个静态方法,例如,
classname::setActivityLog(user_id,activity_msg,time);
并将此代码放入您编写的每个操作中。例如,操作更新、操作删除等。
you can get the `user_id` from `Yii::app()->user->id`
put you custom activity message like "User #user_id created new item" etc.
time you can get it while saving into database.
创建一个表和模型,就像活动日志一样,这就是我在我的项目中所做的。
或者,但这将有限制,例如您无法提供自定义消息或自定义操作名称
您可以在 boostrap 进程中创建一个类级事件处理程序,如下所示(最有可能在 Web 中.php配置文件,该文件保存应用程序对象的配置):
use yii\base\ActionEvent;
use yii\base\Controller;
use yii\base\Event;
$config = [
...
'bootstrap' => [
...
function () {
Event::on(Controller::class, Controller::EVENT_AFTER_ACTION, function (ActionEvent $event) {
Yii::info('Called controller/action: ' . $event->action->id . '/' . $event->action->controller->id);
});
},
...
],
...
];
- 1 回答
- 0 关注
- 84 浏览
添加回答
举报