public static function setup($dsn, $username = '', $password = '') { if (is_array($dsn) && isset($dsn['hostname']) && isset($dsn['dbname'])) { self::$db = new PDO('mysql:host=' . $dsn['hostname'] . ';dbname=' . $dsn['dbname'] . ';charset=utf8', isset($dsn['username']) ? $dsn['username'] : $username, isset($dsn['password']) ? $dsn['password'] : $password); } else { self::$db = new PDO($dsn, $username, $password); } self::$db->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('PDOStatement_extended', array(self::$db))); self::$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); }