Вход Регистрация
Файл: app/core/classes/DB.php
Строк: 41
<?php

class DB {

    static protected 
$pdo;

//Защищаем от создания через new DB
    
private function __construct() {
        
    }

//Защищаем от создания через клонирование
    
private function __clone() {
        
    }

// Защищаем от создания через unserialize
    
private function __wakeup() {
        
    }

//соединение с бд
    
private static function db_connect() {
        if (
is_null(self::$pdo)) {
            require 
$_SERVER['DOCUMENT_ROOT'] . '/app/core/inc.php';
            
$dsn "mysql:host=$hostbd;dbname=$namebd";
            
$opt = array(
                
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            
);
            try {
                
self::$pdo = new PDO($dsn$nameuser$userpass$opt);
            } catch (
PDOException $e) {
                die(
'Ошибка подключения к БД: ' $e->getMessage());
            }
        }
        return 
self::$pdo;
    }

    public static function 
__callStatic($method$args) {
        return 
call_user_func_array(array(self::db_connect(), $method), $args);
    }

    public static function 
run($sql$args = array()) {
        
$stmt self::db_connect()->prepare($sql);
        
$stmt->execute($args);
        return 
$stmt;
    }

    final protected function 
__destruct() {
        
self::$pdo null;
    }

}
Онлайн: 2
Реклама