DNSBlock
This commit is contained in:
42
app/Config/Database.php
Normal file
42
app/Config/Database.php
Normal file
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
|
||||
namespace App\Config;
|
||||
|
||||
use PDO;
|
||||
use PDOException;
|
||||
|
||||
class Database
|
||||
{
|
||||
private static $instance = null;
|
||||
private $conn;
|
||||
|
||||
private function __construct()
|
||||
{
|
||||
$host = $_ENV['DB_HOST'] ?? getenv('DB_HOST') ?: 'localhost';
|
||||
$name = $_ENV['DB_NAME'] ?? getenv('DB_NAME') ?: 'dnsblock';
|
||||
$user = $_ENV['DB_USER'] ?? getenv('DB_USER') ?: 'root';
|
||||
$pass = $_ENV['DB_PASS'] ?? getenv('DB_PASS') ?: '';
|
||||
$port = $_ENV['DB_PORT'] ?? getenv('DB_PORT') ?: '3306';
|
||||
|
||||
try {
|
||||
$this->conn = new PDO("mysql:host=$host;port=$port;dbname=$name;charset=utf8mb4", $user, $pass);
|
||||
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
$this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
|
||||
} catch (PDOException $e) {
|
||||
die("Connection failed: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public static function getInstance()
|
||||
{
|
||||
if (self::$instance == null) {
|
||||
self::$instance = new Database();
|
||||
}
|
||||
return self::$instance;
|
||||
}
|
||||
|
||||
public function getConnection()
|
||||
{
|
||||
return $this->conn;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user