25 lines
573 B
PHP
25 lines
573 B
PHP
<?php
|
|
namespace Incoviba\Common\Implement\Database;
|
|
|
|
use Incoviba\Common\Define;
|
|
|
|
class MySQL implements Define\Database
|
|
{
|
|
public function __construct(public string $host, public string $name, public string $user, public string $password) {}
|
|
|
|
public int $port = 3306;
|
|
|
|
public function getDSN(): string
|
|
{
|
|
$dsn = "mysql:host={$this->host};dbname={$this->name}";
|
|
if ($this->port !== 3306) {
|
|
$dsn .= ";port={$this->port}";
|
|
}
|
|
return $dsn;
|
|
}
|
|
public function needsUser(): bool
|
|
{
|
|
return true;
|
|
}
|
|
}
|