Example #1
0
 public static function connect($type = null, $host = null, $name = null, $user = null, $pass = null)
 {
     if (!self::$dbh) {
         if ($type === null && defined('DB_TYPE')) {
             $type = DB_TYPE;
         }
         if ($host === null && defined('DB_HOST')) {
             $host = DB_HOST;
         }
         if ($name === null && defined('DB_NAME')) {
             $name = DB_NAME;
         }
         if ($user === null && defined('DB_USER')) {
             $user = DB_USER;
         }
         if ($pass === null && defined('DB_PASS')) {
             $pass = DB_PASS;
         }
         try {
             self::$dbh = new PDO($type . ':host=' . $host . ';dbname=' . $name, $user, $pass);
             self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
             return self::$dbh;
         } catch (Exception $e) {
             throw new EpiDatabaseConnectionException('Could not connect to database', EpiException::EPI_EXCEPTION_DB_CONNECTION);
         }
     } else {
         return self::$dbh;
     }
 }