Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
CRAP | |
0.00% |
0 / 42 |
| ConnectionData | |
0.00% |
0 / 1 |
|
0.00% |
0 / 5 |
56 | |
0.00% |
0 / 42 |
| __construct | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 10 |
|||
| fromArray | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 11 |
|||
| toArray | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 10 |
|||
| addPostConnectStatement | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
|||
| __toString | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 9 |
|||
| <?php | |
| declare(strict_types = 1); | |
| namespace Siesta\Database; | |
| use Siesta\Util\ArrayUtil; | |
| /** | |
| * @author Gregor Müller | |
| */ | |
| class ConnectionData | |
| { | |
| const NAME = "name"; | |
| const DRIVER = "driver"; | |
| const HOST = "host"; | |
| const PORT = "port"; | |
| const DATABASE = "database"; | |
| const USER = "user"; | |
| const PASSWORD = "password"; | |
| const CHARSET = "charSet"; | |
| const IS_DEFAULT = "isDefault"; | |
| const POST_CONNECT_STATEMENT_LIST = "postConnectStatementList"; | |
| /** | |
| * @var string | |
| */ | |
| public $name; | |
| /** | |
| * @var string | |
| */ | |
| public $driver; | |
| /** | |
| * @var string | |
| */ | |
| public $host; | |
| /** | |
| * @var int | |
| */ | |
| public $port; | |
| /** | |
| * @var string | |
| */ | |
| public $database; | |
| /** | |
| * @var string | |
| */ | |
| public $user; | |
| /** | |
| * @var string | |
| */ | |
| public $password; | |
| /** | |
| * @var string[] | |
| */ | |
| public $postConnectStatementList; | |
| /** | |
| * @var string | |
| */ | |
| public $charSet; | |
| /** | |
| * @var bool | |
| */ | |
| public $isDefault; | |
| /** | |
| * ConnectionData constructor. | |
| * | |
| * @param string|null $name | |
| * @param string|null $driver | |
| * @param string|null $host | |
| * @param int|null $port | |
| * @param string|null $database | |
| * @param string|null $user | |
| * @param string|null $password | |
| * @param string|null $charSet | |
| * @param array|null $postConnectStatements | |
| */ | |
| public function __construct(string $name = null, string $driver = null, string $host = null, int $port = null, string $database = null, string $user = null, string $password = null, string $charSet = null, array $postConnectStatements = null) | |
| { | |
| $this->postConnectStatementList = $postConnectStatements ? $postConnectStatements : []; | |
| $this->name = $name; | |
| $this->driver = $driver; | |
| $this->host = $host; | |
| $this->port = $port; | |
| $this->database = $database; | |
| $this->user = $user; | |
| $this->password = $password; | |
| $this->charSet = $charSet; | |
| } | |
| /** | |
| * @param array $values | |
| */ | |
| public function fromArray(array $values) | |
| { | |
| $this->name = ArrayUtil::getFromArray($values, self::NAME); | |
| $this->driver = ArrayUtil::getFromArray($values, self::DRIVER); | |
| $this->host = ArrayUtil::getFromArray($values, self::HOST); | |
| $this->port = ArrayUtil::getFromArray($values, self::PORT); | |
| $this->database = ArrayUtil::getFromArray($values, self::DATABASE); | |
| $this->user = ArrayUtil::getFromArray($values, self::USER); | |
| $this->password = ArrayUtil::getFromArray($values, self::PASSWORD); | |
| $this->charSet = ArrayUtil::getFromArray($values, self::CHARSET); | |
| $this->isDefault = ArrayUtil::getFromArray($values, self::IS_DEFAULT); | |
| $this->postConnectStatementList = ArrayUtil::getFromArray($values, self::POST_CONNECT_STATEMENT_LIST); | |
| } | |
| /** | |
| * @return array | |
| */ | |
| public function toArray() : array | |
| { | |
| return [ | |
| self::NAME => $this->name, | |
| self::DRIVER => $this->driver, | |
| self::HOST => $this->host, | |
| self::PORT => $this->port, | |
| self::DATABASE => $this->database, | |
| self::USER => $this->user, | |
| self::PASSWORD => $this->password, | |
| self::CHARSET => $this->charSet, | |
| self::IS_DEFAULT => $this->isDefault, | |
| self::POST_CONNECT_STATEMENT_LIST => $this->postConnectStatementList !== null ? $this->postConnectStatementList : [] | |
| ]; | |
| } | |
| /** | |
| * @param string $statement | |
| */ | |
| public function addPostConnectStatement(string $statement) | |
| { | |
| $this->postConnectStatementList[] = $statement; | |
| } | |
| /** | |
| * @return string | |
| */ | |
| public function __toString() : string | |
| { | |
| return implode(PHP_EOL, [ | |
| "Name " . $this->name, | |
| "Driver " . $this->driver, | |
| "Host " . $this->host, | |
| "Port " . $this->port, | |
| "Database " . $this->database, | |
| "User " . $this->user, | |
| "Charset " . $this->user, | |
| "Post Connect statement " . implode(";", $this->postConnectStatementList) | |
| ]); | |
| } | |
| } |