misuzu/src/DB.php

32 lines
749 B
PHP
Raw Normal View History

2018-10-05 11:06:39 +02:00
<?php
2019-09-29 00:38:39 +02:00
namespace Misuzu;
2018-10-05 11:06:39 +02:00
2019-09-29 00:38:39 +02:00
use Misuzu\Database\Database;
2019-03-04 21:25:20 +01:00
2019-09-29 00:38:39 +02:00
final class DB {
private static $instance;
2019-05-07 10:08:27 +02:00
2019-09-29 00:38:39 +02:00
public static function init(...$args) {
self::$instance = new Database(...$args);
2019-05-07 10:08:27 +02:00
}
2019-09-29 00:38:39 +02:00
public static function __callStatic(string $name, array $args) {
return self::$instance->{$name}(...$args);
}
2019-09-29 00:38:39 +02:00
public static function buildDSN(array $vars): string {
$dsn = ($vars['driver'] ?? 'mysql') . ':';
2019-09-29 00:38:39 +02:00
foreach($vars as $key => $value) {
if($key === 'driver' || $key === 'username' || $key === 'password')
continue;
if($key === 'database')
$key = 'dbname';
2019-09-29 00:38:39 +02:00
$dsn .= $key . '=' . $value . ';';
}
2019-09-29 00:38:39 +02:00
return $dsn;
}
2018-10-05 11:06:39 +02:00
}