26 lines
544 B
PHP
26 lines
544 B
PHP
<?php
|
|
namespace ProVM\Common\Service\Database;
|
|
|
|
class DSN {
|
|
public $engine;
|
|
public function __construct(string $engine) {
|
|
$this->engine = $engine;
|
|
}
|
|
public $pairs;
|
|
public function addPair($name, $value) {
|
|
if ($this->pairs === null) {
|
|
$this->pairs = [];
|
|
}
|
|
$this->pairs []= [$name, $value];
|
|
return $this;
|
|
}
|
|
public function __toString() {
|
|
return implode(':', [
|
|
$this->engine,
|
|
implode(';', array_map(function($item) {
|
|
return implode('=', $item);
|
|
}, $this->pairs))
|
|
]);
|
|
}
|
|
}
|