2016-12-02 17:00:32 2171次浏览 1条回答 0 悬赏 10 金钱

这段是干嘛的

'on beforeRequest' => function($event) {
        \yii\base\Event::on(\yii\db\BaseActiveRecord::className(), \yii\db\BaseActiveRecord::EVENT_AFTER_UPDATE, ['backend\components\AdminLog', 'write']);
    },

还有 下面 $event 是啥

<?php

namespace backend\components;

use Yii;
use yii\helpers\Url;

class AdminLog
{
    public static function write($event)
    {
       
        if(!empty($event->changedAttributes)) {
            $desc = '';
            foreach($event->changedAttributes as $name => $value) {
                $desc .= $name . ' : ' . $value . '=>' . $event->sender->getAttribute($name) . ',';
            }
            $desc = substr($desc, 0, -1);
            $description = Yii::$app->user->identity->username . '修改了' . $event->sender->className() . 'id:' . $event->sender->primaryKey()[0] . '的' . $desc;
            $route = Url::to();
            $userId = Yii::$app->user->id;
            $data = [
                'route' => $route,
                'description' => $description,
                'created_at'=>time(),
                'user_id' => $userId
            ];
            $model = new \common\models\AdminLog();
            $model->setAttributes($data);
            $model->save();
        }
    }
}
补充于 2016-12-03 13:28

奥 谢谢

  • 回答于 2016-12-03 08:48 举报

    这个是日志记录吧。对于用户操作进行记录。
    onbeforeRequest在请求之前触发该事件。
    $event指的事件,也可以指用户执行的操作。

    1 条回复
    回复于 2016-12-03 13:28 回复

    xie x e

您需要登录后才可以回答。登录 | 立即注册
大头
见习主管

大头

注册时间:2016-11-14
最后登录:2017-07-10
在线时长:9小时42分
  • 粉丝7
  • 金钱330
  • 威望0
  • 积分420

热门问题