123456789101112131415161718192021222324252627282930313233343536373839 |
- <?php
- namespace App\Repository;
- use PDO;
- use PDOException;
- class DbConnect
- {
- private static $db;
- private function __clone()
- {
- return true;
- }
- private function __wakeup()
- {
- return true;
- }
- private function __construct()
- {
- $config = (require_once('../config/config.php'))['db'];
- $dsn = "mysql:host={$config['host']};dbname={$config['dbname']};charset={$config['charset']}";
- $opt = [
- PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
- PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
- PDO::ATTR_EMULATE_PREPARES => false
- ];
- try {
- $this->conPdo = new PDO($dsn, $config['login'], $config['pass'], $opt);
- } catch (PDOException $e) {
- die('Подключение не удалось: ' . $e->getMessage());
- }
- }
- public static function getConnect(){
- if (!self::$db) {
- self::$db = new DbConnect();
- }
- return self::$db->conPdo;
- }
- }
|