49 lines
1.2 KiB
PHP
49 lines
1.2 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Bridge\Doctrine\Middleware\Debug;
|
|
|
|
/**
|
|
* @author Laurent VOULLEMIER <laurent.voullemier@gmail.com>
|
|
*/
|
|
class DebugDataHolder
|
|
{
|
|
private array $data = [];
|
|
|
|
public function addQuery(string $connectionName, Query $query): void
|
|
{
|
|
$this->data[$connectionName][] = [
|
|
'sql' => $query->getSql(),
|
|
'params' => $query->getParams(),
|
|
'types' => $query->getTypes(),
|
|
'executionMS' => $query->getDuration(...), // stop() may not be called at this point
|
|
];
|
|
}
|
|
|
|
public function getData(): array
|
|
{
|
|
foreach ($this->data as $connectionName => $dataForConn) {
|
|
foreach ($dataForConn as $idx => $data) {
|
|
if (\is_callable($data['executionMS'])) {
|
|
$this->data[$connectionName][$idx]['executionMS'] = $data['executionMS']();
|
|
}
|
|
}
|
|
}
|
|
|
|
return $this->data;
|
|
}
|
|
|
|
public function reset(): void
|
|
{
|
|
$this->data = [];
|
|
}
|
|
}
|