Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions
ConnectionFactory Class Reference
Inheritance diagram for ConnectionFactory:
ConnectionFactoryInterface

Public Member Functions

 __construct (ServiceLocatorInterface $serviceLocator)
 
 create (array $connectionConfig)
 

Detailed Description

Connection adapter factory

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Definition at line 16 of file ConnectionFactory.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( ServiceLocatorInterface  $serviceLocator)

Constructor

Parameters
ServiceLocatorInterface$serviceLocator

Definition at line 28 of file ConnectionFactory.php.

29  {
30  $this->serviceLocator = $serviceLocator;
31  }

Member Function Documentation

◆ create()

create ( array  $connectionConfig)

{Create connection adapter instance

Parameters
array$connectionConfig
Returns
\Magento\Framework\DB\Adapter\AdapterInterface
Exceptions
}

Implements ConnectionFactoryInterface.

Definition at line 36 of file ConnectionFactory.php.

37  {
38  $quote = new \Magento\Framework\DB\Platform\Quote();
39  $selectFactory = new \Magento\Framework\DB\SelectFactory(
40  new \Magento\Framework\DB\Select\SelectRenderer(
41  [
42  'distinct' => [
43  'renderer' => new \Magento\Framework\DB\Select\DistinctRenderer(),
44  'sort' => 100,
45  'part' => 'distinct'
46  ],
47  'columns' => [
48  'renderer' => new \Magento\Framework\DB\Select\ColumnsRenderer($quote),
49  'sort' => 200,
50  'part' => 'columns'
51  ],
52  'union' => [
53  'renderer' => new \Magento\Framework\DB\Select\UnionRenderer(),
54  'sort' => 300,
55  'part' => 'union'
56  ],
57  'from' => [
58  'renderer' => new \Magento\Framework\DB\Select\FromRenderer($quote),
59  'sort' => 400,
60  'part' => 'from'
61  ],
62  'where' => [
63  'renderer' => new \Magento\Framework\DB\Select\WhereRenderer(),
64  'sort' => 500,
65  'part' => 'where'
66  ],
67  'group' => [
68  'renderer' => new \Magento\Framework\DB\Select\GroupRenderer($quote),
69  'sort' => 600,
70  'part' => 'group'
71  ],
72  'having' => [
73  'renderer' => new \Magento\Framework\DB\Select\HavingRenderer(),
74  'sort' => 700,
75  'part' => 'having'
76  ],
77  'order' => [
78  'renderer' => new \Magento\Framework\DB\Select\OrderRenderer($quote),
79  'sort' => 800,
80  'part' => 'order'
81  ],
82  'limit' => [
83  'renderer' => new \Magento\Framework\DB\Select\LimitRenderer(),
84  'sort' => 900,
85  'part' => 'limitcount'
86  ],
87  'for_update' => [
88  'renderer' => new \Magento\Framework\DB\Select\ForUpdateRenderer(),
89  'sort' => 1000,
90  'part' => 'forupdate'
91  ],
92  ]
93  )
94  );
95  $objectManagerProvider = $this->serviceLocator->get(\Magento\Setup\Model\ObjectManagerProvider::class);
96  $mysqlFactory = new \Magento\Framework\DB\Adapter\Pdo\MysqlFactory($objectManagerProvider->get());
97  $resourceInstance = new Mysql($connectionConfig, $mysqlFactory);
98  return $resourceInstance->getConnection(
99  $this->serviceLocator->get(\Magento\Framework\DB\Logger\Quiet::class),
100  $selectFactory
101  );
102  }
$quote

The documentation for this class was generated from the following file: