src/Service/Connexion.php line 56

Open in your IDE?
  1. <?php
  2. namespace App\Service;
  3. use PDO;
  4. class Connexion
  5. {
  6.     private static ?Connexion $instance null;
  7.     private PDO $pdo1;
  8.     private PDO $pdo2;
  9.     private PDO $pdo3;
  10.     private string $host1 'golgoth.cfnews.net';
  11.     private string $username1 'abocfnews_abo';
  12.     private string $password1 'theeNe9e';
  13.     private string $database1 'abocfnews_abo';
  14.     private string $host2 'procyon.cfnews.net';
  15.     private string $username2 'cfikon_csv';
  16.     private string $password2 'zehaw6Th';
  17.     private string $database2 'cfikon_cfprod';
  18.     private string $host3 'alcor.cfnews.net';
  19.     private string $username3 'cftool_logs';
  20.     private string $password3 'GGHH455CVa';
  21.     private string $database3 'cftool_logs';
  22.     private function __construct() {
  23.         $dsn1 "mysql:host=$this->host1;dbname=$this->database1;charset=utf8mb4";
  24.         $options1 = [
  25.             PDO::ATTR_EMULATE_PREPARES => false,
  26.             PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  27.             PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  28.         ];
  29.         $this->pdo1 = new PDO($dsn1$this->username1$this->password1$options1);
  30.         $dsn2 "mysql:host=$this->host2;dbname=$this->database2;charset=utf8mb4";
  31.         $options2 = [
  32.             PDO::ATTR_EMULATE_PREPARES => false,
  33.             PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  34.             PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  35.         ];
  36.         $this->pdo2 = new PDO($dsn2$this->username2$this->password2$options2);
  37.         $dsn3 "mysql:host=$this->host3;dbname=$this->database3;charset=utf8mb4";
  38.         $options3 = [
  39.             PDO::ATTR_EMULATE_PREPARES => false,
  40.             PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  41.             PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
  42.         ];
  43.         $this->pdo3 = new PDO($dsn3$this->username3$this->password3$options3);
  44.     }
  45.     public static function getInstance(): ?Connexion
  46.     {
  47.         if (self::$instance === null) {
  48.             self::$instance = new self();
  49.         }
  50.         return self::$instance;
  51.     }
  52.     public function getPdoAbo(): PDO
  53.     {
  54.         return $this->pdo1;
  55.     }
  56.     public function getPdoCf(): PDO
  57.     {
  58.         return $this->pdo2;
  59.     }
  60.     public function getPdoTool(): PDO
  61.     {
  62.         return $this->pdo3;
  63.     }
  64. }