✏️ 编辑:QueryRecorder.php
路径:
/home/boguraj1/.trash/vendor/facade/ignition/src/QueryRecorder/QueryRecorder.php
大小:1.84 KB · 修改:2026-07-23 16:13:46 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php namespace Facade\Ignition\QueryRecorder; use Illuminate\Contracts\Foundation\Application; use Illuminate\Database\Events\QueryExecuted; class QueryRecorder { /** @var \Facade\Ignition\QueryRecorder\Query|[] */ protected $queries = []; /** @var \Illuminate\Contracts\Foundation\Application */ protected $app; /** @var bool */ private $reportBindings; /** @var int|null */ private $maxQueries; public function __construct( Application $app, bool $reportBindings = true, ?int $maxQueries = null ) { $this->app = $app; $this->reportBindings = $reportBindings; $this->maxQueries = $maxQueries; } public function register() { $this->app['events']->listen(QueryExecuted::class, [$this, 'record']); return $this; } public function record(QueryExecuted $queryExecuted) { $this->queries[] = Query::fromQueryExecutedEvent($queryExecuted, $this->reportBindings); if (is_int($this->maxQueries)) { $this->queries = array_slice($this->queries, -$this->maxQueries); } } public function getQueries(): array { $queries = []; foreach ($this->queries as $query) { $queries[] = $query->toArray(); } return $queries; } public function reset() { $this->queries = []; } public function getReportBindings(): bool { return $this->reportBindings; } public function setReportBindings(bool $reportBindings): self { $this->reportBindings = $reportBindings; return $this; } public function getMaxQueries(): ?int { return $this->maxQueries; } public function setMaxQueries(?int $maxQueries): self { $this->maxQueries = $maxQueries; return $this; } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF