Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.62 KB | None | 0 0
  1. <?
  2.  
  3. class Pdo_connect {
  4.  
  5.   private const HOST = "localhost"; //protected - область видимости для использования в данном классе и потомках
  6.   private const CHARSET = "utf-8";  //private - область видимости для использования только в данном классе
  7.   private const DB = "halloween";   //public - область видимости для использования в любом месте, везде
  8.   private const USER = "halloween";
  9.   private const PASS = "halloween";
  10.  
  11.   protected $DSN; //data source name (включает в себя HOST, DB, CHARSET)
  12.   protected $OPD; //настройка, конфигурация
  13.   public $PDO;    
  14.  
  15.   private function __construct() {
  16.  
  17.     $this->DSN = "mysql:host=" . SELF::HOST . ";dbname" . SELF::DB . ";charset=" . SELF::CHARSET;
  18.  
  19.     $this->OPD = [
  20.       PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
  21.       PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
  22.       PDO::ATTR_EMULATE_PREPARES => false
  23.     ];
  24.  
  25.     $this->PDO = new PDO($this->DSN, SELF::USER, SELF::PASS, $this->OPD);
  26.   }
  27.  
  28.  
  29.   // Singleton - позволяет не создавать кучу одинаковых классов
  30.   // при подключении к БД, а использовать один класс
  31.   protected static $instance;
  32.  
  33.     public static function getInstance()
  34.     {
  35.         if (self::$instance === null) {
  36.             self::$instance = new self;
  37.         }
  38.  
  39.         return self::$instance;
  40.     }
  41.  
  42.     private function __clone() {}
  43.     private function __wakeup() {}
  44. }
  45.  
  46. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement