for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Bdf\Prime\Connection\Factory;
use Bdf\Prime\Connection\ConnectionInterface;
use Doctrine\DBAL\Configuration;
/**
* ChainFactory
*/
class ChainFactory implements ConnectionFactoryInterface
{
* The connection factories
*
* @var ConnectionFactoryInterface[]
private $factories;
public function __construct(array $connectionFactories)
$this->factories = $connectionFactories;
}
$connectionName
$parameters
$config
* {@inheritDoc}
public function create(string $connectionName, array $parameters, Configuration $config): ConnectionInterface
foreach ($this->factories as $connectionFactory) {
if ($connectionFactory->support($connectionName, $parameters)) {
return $connectionFactory->create($connectionName, $parameters, $config);
throw new \LogicException('No handlers found to create the connection '.$connectionName);
public function support(string $connectionName, array $parameters): bool
return true;