91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么在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

岱山县| 抚顺县| 黔西| 舞阳县| 钟山县| 景东| 廉江市| 黔西县| 镇安县| 拉萨市| 诸城市| 台州市| 凤城市| 清河县| 新密市| 德江县| 关岭| 永城市| 金昌市| 土默特左旗| 忻城县| 镇原县| 上高县| 修水县| 泊头市| 东城区| 汉源县| 象州县| 阿鲁科尔沁旗| 新安县| 扎兰屯市| 大新县| 河西区| 苍山县| 彰化市| 沁阳市| 宜州市| 新竹县| 永吉县| 瑞昌市| 息烽县|