* * 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; use Doctrine\DBAL\Driver as DriverInterface; use Doctrine\DBAL\Driver\Middleware as MiddlewareInterface; use Symfony\Component\Stopwatch\Stopwatch; /** * Middleware to collect debug data. * * @author Laurent VOULLEMIER */ final class Middleware implements MiddlewareInterface { private $debugDataHolder; private $stopwatch; private $connectionName; public function __construct(DebugDataHolder $debugDataHolder, ?Stopwatch $stopwatch, string $connectionName = 'default') { $this->debugDataHolder = $debugDataHolder; $this->stopwatch = $stopwatch; $this->connectionName = $connectionName; } public function wrap(DriverInterface $driver): DriverInterface { return new Driver($driver, $this->debugDataHolder, $this->stopwatch, $this->connectionName); } }