_driver = $driver; switch ($driver->getAttribute(\PDO::ATTR_DRIVER_NAME)){ case 'sqlite': $instance->_adapter = new SQLiteAdapter(); $instance-> _adapter->setConnection($driver); break; case 'pgsql': $instance->_adapter = new PostgresAdapter(); $instance->_adapter->setConnection($driver); break; case 'mysql': break; default: break; } } public static function get_table($name){ $instance = self::getInstance(); if( $instance->_adapter->getConnection()->prefix ){ $name = $instance->_adapter->getConnection()->prefix . $name; } return new Table($name, Array(), $instance->_adapter); } public static function begin(){ $instance = self::getInstance(); $instance->_adapter->beginTransaction(); } public static function commit(){ $instance = self::getInstance(); $instance->_adapter->commitTransaction(); } public static function exec($sql){ $instance = self::getInstance(); $prefix = $instance->_adapter->getConnection()->prefix; $sql = preg_replace('/{(.*)}/', "$prefix$1", $sql); $instance->_driver->exec($sql); } }