日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、ThinkPHP 5.1的日志記錄功能簡介

在ThinkPHP 5.1中,日志記錄功能已經(jīng)內(nèi)置。我們可以在應(yīng)用程序中利用它來記錄不同類型的事件,諸如錯誤消息、調(diào)試信息和用戶操作等。四個級別的日志記錄由框架提供,分別為:DEBUG、INFO、NOTICE和ERROR。

除了內(nèi)置的日志級別外,我們還可以定義自己的日志級別。我們可以舉例說明,創(chuàng)建一個名為“CRUD”的日志級別,以記錄增刪改查操作。

在默認情況下,日志將記錄到應(yīng)用程序根目錄下的log目錄中。如果需要更改日志存儲位置,可以通過修改配置文件來實現(xiàn)。配置文件一般位于應(yīng)用程序的config目錄中。

二、增刪改查操作日志記錄實現(xiàn)

我們來看看如何在ThinkPHP 5.1中實現(xiàn)增刪改查操作的日志記錄。我們將按照以下步驟實現(xiàn):

    在config目錄中創(chuàng)建自定義配置文件

    為數(shù)據(jù)表添加日志字段

    在Model中重寫增刪改方法

    記錄日志

    在config目錄中創(chuàng)建自定義配置文件

我們需要先創(chuàng)建一個自定義配置文件,放在應(yīng)用程序的config目錄下。我們把這個文件命名為common_extra.php。

$config = [

'crud_log' => true, // 記錄增刪改查日志
'crud_ignore_fields' => ['create_time', 'update_time'] // 忽略日志記錄的字段

登錄后復(fù)制

];

在配置中,我們設(shè)置了兩個選項。第一個是crud_log,用于開啟或關(guān)閉日志記錄。第二個是crud_ignore_fields,用于指定不記錄日志的字段。

    為數(shù)據(jù)表添加日志字段

接下來,我們需要為數(shù)據(jù)表添加一些字段來記錄增刪改查操作。我們可以為每個數(shù)據(jù)表添加以下字段:

    id(自增主鍵)

    user_id(操作用戶id,可為空)

    action(操作類型,如增加、刪除、修改)

    table_name(操作的數(shù)據(jù)表名)

    data(操作的數(shù)據(jù))

    created_at(操作時間)

    在Model中重寫增刪改方法

現(xiàn)在我們需要在Model中重寫增刪改方法,以實現(xiàn)日志記錄。我們將使用全局查詢作用域來實現(xiàn)它。我們將重寫create、update和delete方法。

在每個方法中,我們將記錄相應(yīng)的操作類型和數(shù)據(jù)。然后,我們將通過使用日志類將日志寫入日志文件。

以下是一些示例代碼:

namespace app\common\model;

use think\Model;

class User extends Model
{

protected $table = 'users';

// 添加全局查詢范圍
protected static function init()
{
    // 添加操作記錄
    static::beforeInsert(function ($item) {
        if (config('common_extra.crud_log')) {
            $item->user_id = session('user_id');
            $item->action = 'add';
            $item->table_name = $this->table;
            $item->data = json_encode($item->toArray(), JSON_UNESCAPED_UNICODE);
            $item->created_at = date('Y-m-d H:i:s', time());
            Db::table('log')->insert($item->toArray());
        }
    });

    // 修改操作記錄
    static::beforeUpdate(function ($item) {
        if (config('common_extra.crud_log')) {
            $item->user_id = session('user_id');
            $item->action = 'update';
            $item->table_name = $this->table;
            $item->data = json_encode($item->toArray(), JSON_UNESCAPED_UNICODE);
            $item->created_at = date('Y-m-d H:i:s', time());
            Db::table('log')->insert($item->toArray());
        }
    });

    // 刪除操作記錄
    static::beforeDelete(function ($item) {
        if (config('common_extra.crud_log')) {
            $item->user_id = session('user_id');
            $item->action = 'delete';
            $item->table_name = $this->table;
            $item->data = json_encode($item->toArray(), JSON_UNESCAPED_UNICODE);
            $item->created_at = date('Y-m-d H:i:s', time());
            Db::table('log')->insert($item->toArray());
        }
    });
}

登錄后復(fù)制

}

    記錄日志

最后,我們將記錄日志。在前面的示例中,我們將日志寫入名為“l(fā)og”的數(shù)據(jù)表中。但是,您可以根據(jù)需要將日志寫入文件,發(fā)送給日志服務(wù)器或?qū)⑵浒l(fā)送到其他地方。

通過以上步驟,我們成功實現(xiàn)了在ThinkPHP 5.1中對增刪改查操作進行日志記錄的功能。

以上就是ThinkPHP5.1中怎么實現(xiàn)增刪改查操作日志記錄的詳細內(nèi)容,更多請關(guān)注www.xfxf.net其它相關(guān)文章!

分享到:
標(biāo)簽:thinkphp
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定