<?php
namespace App\Service;
use PDO;
class Connexion
{
private static ?Connexion $instance = null;
private PDO $pdo1;
private PDO $pdo2;
private PDO $pdo3;
private string $host1 = 'golgoth.cfnews.net';
private string $username1 = 'abocfnews_abo';
private string $password1 = 'theeNe9e';
private string $database1 = 'abocfnews_abo';
private string $host2 = 'procyon.cfnews.net';
private string $username2 = 'cfikon_csv';
private string $password2 = 'zehaw6Th';
private string $database2 = 'cfikon_cfprod';
private string $host3 = 'alcor.cfnews.net';
private string $username3 = 'cftool_logs';
private string $password3 = 'GGHH455CVa';
private string $database3 = 'cftool_logs';
private function __construct() {
$dsn1 = "mysql:host=$this->host1;dbname=$this->database1;charset=utf8mb4";
$options1 = [
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
$this->pdo1 = new PDO($dsn1, $this->username1, $this->password1, $options1);
$dsn2 = "mysql:host=$this->host2;dbname=$this->database2;charset=utf8mb4";
$options2 = [
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
$this->pdo2 = new PDO($dsn2, $this->username2, $this->password2, $options2);
$dsn3 = "mysql:host=$this->host3;dbname=$this->database3;charset=utf8mb4";
$options3 = [
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
];
$this->pdo3 = new PDO($dsn3, $this->username3, $this->password3, $options3);
}
public static function getInstance(): ?Connexion
{
if (self::$instance === null) {
self::$instance = new self();
}
return self::$instance;
}
public function getPdoAbo(): PDO
{
return $this->pdo1;
}
public function getPdoCf(): PDO
{
return $this->pdo2;
}
public function getPdoTool(): PDO
{
return $this->pdo3;
}
}