亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Laravel框架中使用監聽器實現sql語句記錄功能

發布時間:2021-05-22 16:37:07 來源:億速云 閱讀:202 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關怎么在Laravel框架中使用監聽器實現sql語句記錄功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1、監聽sql語句的事件類已經定義,直接創建監聽器類即可:

# 監聽sql
make:listener QueryListener --event=Illuminate\Database\Events\QueryExecuted

2、監聽器類代碼

./app/Listeners/QueryListener.php

<?php
namespace App\Listeners;
use Illuminate\Database\Events\QueryExecuted;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use App\Http\Models\OperationLog;
class QueryListener
{
  /**
   * Create the event listener.
   *
   * @return void
   */
  public function __construct()
  {
    //
  }
  /**
   * Handle the event.
   *
   * @param QueryExecuted $event
   * @return void
   */
  public function handle(QueryExecuted $event)
  {
    $sql = str_replace("?", "'%s'", $event->sql);
    $log = vsprintf($sql, $event->bindings);
    # 此處$uid定義是依賴于中間件記錄操作日志代碼
    $uid = isset($_SERVER['admin_uid']) ? $_SERVER['admin_uid'] : 0;
    if('select' != substr($log , 0 , 6)){
      if('insert into `operationLog`' != substr($log , 0 , 26)){
        $OperationLog = new OperationLog();
        $OperationLog->uid = $uid;
        $OperationLog->sql = $log;
        $OperationLog->input = '';
        $OperationLog->save();
      }
    }
  }
}

3、引入監聽器

./app/Providers/EventServiceProvider.php

protected $listen = [
    ...
    \Illuminate\Database\Events\QueryExecuted::class => [
      'App\Listeners\QueryListener'
    ],
    ...
  ];

Laravel 是什么

Laravel 是一套簡潔、優雅的PHP Web開發框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

看完上述內容,你們對怎么在Laravel框架中使用監聽器實現sql語句記錄功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

花莲市| 宁津县| 万安县| 青冈县| 龙海市| 庆阳市| 黑水县| 防城港市| 凌海市| 高阳县| 昭苏县| 洛南县| 昌乐县| 多伦县| 营山县| 崇仁县| 洛扎县| 景德镇市| 南皮县| 西畴县| 呼图壁县| 胶州市| 望奎县| 峡江县| 察雅县| 顺义区| 新竹县| 杂多县| 西宁市| 武功县| 开平市| 卓尼县| 玉林市| 巨野县| 商都县| 陇南市| 绥宁县| 额济纳旗| 彩票| 枣庄市| 平安县|