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 關注
- 116 瀏覽
添加回答
舉報