eZ\Bundle\EzPublishCoreBundle\ApiLoader\StorageConnectionFactory::getConnection PHP Метод

getConnection() публичный Метод

Returns database connection used by database handler.
public getConnection ( ) : Doctrine\DBAL\Connection
Результат Doctrine\DBAL\Connection
    public function getConnection()
    {
        $repositoryConfig = $this->repositoryConfigurationProvider->getRepositoryConfig();
        // Taking provided connection name if any.
        // Otherwise, just fallback to the default connection.
        if (isset($repositoryConfig['storage']['connection'])) {
            $doctrineConnectionId = sprintf('doctrine.dbal.%s_connection', $repositoryConfig['storage']['connection']);
        } else {
            // "database_connection" is an alias to the default connection, set up by DoctrineBundle.
            $doctrineConnectionId = 'database_connection';
        }
        if (!$this->container->has($doctrineConnectionId)) {
            throw new InvalidArgumentException("Invalid Doctrine connection '{$repositoryConfig['storage']['connection']}' for repository '{$repositoryConfig['alias']}'." . 'Valid connections are ' . implode(', ', array_keys($this->container->getParameter('doctrine.connections'))));
        }
        return $this->container->get($doctrineConnectionId);
    }

Usage Example

 /**
  * @expectedException \InvalidArgumentException
  */
 public function testGetConnectionInvalidConnection()
 {
     $repositoryConfigurationProviderMock = $this->getMockBuilder('eZ\\Bundle\\EzPublishCoreBundle\\ApiLoader\\RepositoryConfigurationProvider')->disableOriginalConstructor()->getMock();
     $repositoryConfig = array('alias' => 'foo', 'storage' => array('engine' => 'legacy', 'connection' => 'my_doctrine_connection'));
     $repositoryConfigurationProviderMock->expects($this->once())->method('getRepositoryConfig')->will($this->returnValue($repositoryConfig));
     $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
     $container->expects($this->once())->method('has')->with('doctrine.dbal.my_doctrine_connection_connection')->will($this->returnValue(false));
     $container->expects($this->once())->method('getParameter')->with('doctrine.connections')->will($this->returnValue(array()));
     $factory = new StorageConnectionFactory($repositoryConfigurationProviderMock);
     $factory->setContainer($container);
     $factory->getConnection();
 }
StorageConnectionFactory