Ejemplo n.º 1
0
 /**
  * Iniciar uma conexão com o banco de dados e retorna um objeto PDO.
  * @return PDO
  */
 private static function Conectar()
 {
     try {
         if (self::$Connect == null) {
             if (!self::$Config) {
                 self::$Config = get_config('db' . (IS_LOCAL ? '-local' : null));
             }
             $dsn = 'mysql:host=' . self::$Config['host'] . ';dbname=' . self::$Config['database'] . ';charset=utf8';
             $options = [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'];
             self::$Connect = new PDO($dsn, self::$Config['user'], self::$Config['password'], $options);
             self::$Connect->exec('SET NAMES utf8');
             self::$Connect->exec('SET CHARACTER SET utf8');
             self::$Connect->exec('SET time_zone = \'' . date_default_timezone_get() . '\'');
         }
     } catch (PDOException $e) {
         throw new Exception('Não foi possível conectar a base de dados.');
     } catch (Exception $e) {
         throw new Exception('Não foi possível conectar a base de dados.');
     }
     self::$Connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     return self::$Connect;
 }