/** * Constructor */ private function __construct() { $dbConfig = Config::readFromAlias('db'); if (!$dbConfig) { throw new \Exception('DB config not found!'); } $dsnParams = array_intersect_key($dbConfig['mysql']['connect'], array_flip($this->getDSNAvailableParams())); $dsn = sprintf('mysql:%s', http_build_query($dsnParams, null, ';')); try { $this->dbh = new PDO($dsn, $dbConfig['mysql']['connect']['user'], $dbConfig['mysql']['connect']['password']); } catch (\Exception $e) { reconstructionPage(); } }