1
0
mirror of https://github.com/dg/dibi.git synced 2025-02-23 18:33:45 +01:00

Connection: accepts Driver instance (fixes 51fa3b9) [Closes #315]

This commit is contained in:
David Grudl 2018-09-13 13:09:58 +02:00
parent 4b85f0a973
commit 95c424a71d

View File

@ -112,8 +112,13 @@ class Connection implements IConnection
*/ */
final public function connect(): void final public function connect(): void
{ {
if (is_subclass_of($this->config['driver'], Driver::class)) { if ($this->config['driver'] instanceof Driver) {
$this->driver = $this->config['driver'];
return;
} elseif (is_subclass_of($this->config['driver'], Driver::class)) {
$class = $this->config['driver']; $class = $this->config['driver'];
} else { } else {
$class = preg_replace(['#\W#', '#sql#'], ['_', 'Sql'], ucfirst(strtolower($this->config['driver']))); $class = preg_replace(['#\W#', '#sql#'], ['_', 'Sql'], ucfirst(strtolower($this->config['driver'])));
$class = "Dibi\\Drivers\\{$class}Driver"; $class = "Dibi\\Drivers\\{$class}Driver";