DBconnect.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Repository;
  3. use PDO;
  4. use PDOException;
  5. class Singleton
  6. {
  7. private static $instance;
  8. private $login = 'root';
  9. private $pass = '';
  10. private $dbname = 'school';
  11. private $host = '127.0.0.1';
  12. private $charset = 'utf8';
  13. public $pdo;
  14. public static function getInstance()
  15. {
  16. if (null === self::$instance) {
  17. self::$instance = new self();
  18. }
  19. return self::$instance;
  20. }
  21. private function __construct()
  22. {
  23. $dsn = "mysql:host={$this->host};dbname={$this->dbname};charset={$this->charset}";
  24. $opt = [
  25. PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  26. PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  27. PDO::ATTR_EMULATE_PREPARES => false,
  28. ];
  29. try {
  30. $this->pdo = new PDO($dsn, $this->login, $this->pass, $opt);
  31. } catch (PDOException $e) {
  32. die('Подключение не удалось: ' . $e->getMessage());
  33. }
  34. }
  35. private function __clone()
  36. {
  37. }
  38. }