vendor/dama/doctrine-test-bundle/src/DAMA/DoctrineTestBundle/Doctrine/DBAL/StaticConnectionFactory.php line 23

Open in your IDE?
  1. <?php
  2. namespace DAMA\DoctrineTestBundle\Doctrine\DBAL;
  3. use Doctrine\Bundle\DoctrineBundle\ConnectionFactory;
  4. use Doctrine\Common\EventManager;
  5. use Doctrine\DBAL\Configuration;
  6. use Doctrine\DBAL\Connection;
  7. class StaticConnectionFactory extends ConnectionFactory
  8. {
  9.     /**
  10.      * @var ConnectionFactory
  11.      */
  12.     private $decoratedFactory;
  13.     public function __construct(ConnectionFactory $decoratedFactory)
  14.     {
  15.         parent::__construct([]);
  16.         $this->decoratedFactory $decoratedFactory;
  17.     }
  18.     public function createConnection(array $paramsConfiguration $config nullEventManager $eventManager null, array $mappingTypes = []): Connection
  19.     {
  20.         $connection $this->decoratedFactory->createConnection($params$config$eventManager$mappingTypes);
  21.         if (!StaticDriver::isKeepStaticConnections() || !isset($params['dama.keep_static']) || !$params['dama.keep_static']) {
  22.             return $connection;
  23.         }
  24.         // Make sure we use savepoints to be able to easily roll-back nested transactions
  25.         if ($connection->getDriver()->getDatabasePlatform()->supportsSavepoints()) {
  26.             $connection->setNestTransactionsWithSavepoints(true);
  27.         }
  28.         return $connection;
  29.     }
  30. }