Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function connect( $driver, $params )
- {
- /**
- * Checks if User PHP Server have PDO Extension Loaded,
- * If not , Throw a new LogicException Without Message
- */
- if(!extension_loaded('PDO')){
- throw new LogicException();
- }
- if(!isset( $driver )){
- if( isset($params['driver']) ){
- $driver = $params['driver'];
- }else{
- throw new ErrorException('E_NO_DRIVER Loaded, Can\'t Do Connection Database');
- }
- }
- unset($params['driver']);
- switch( $driver ){
- // MySQL Database Driver
- case self::mysql:
- $this->db = new mysql( $params );
- break;
- // PgSQL Database Driver
- case self::pgsql:
- $this->db = new pgsql( $params );
- break;
- // ODBC Database Support
- case self::odbc:
- $this->db = new odbc( $params );
- break;
- // SQLite Database Support
- case self::sqlite:
- $this->db = new sqlite( $params );
- break;
- // Oracle database support
- case self::oracle:
- $this->db = new oracle( $params );
- break;
- /**
- * As Default , Unexpected Driver ( Not Supported Driver )
- * Or Not a Existent PDO Driver, Throw new Exception
- */
- default:
- throw new Exception('Driver of You Trying To Use\Connect Is Not Supported');
- break;
- }
- /**
- * Set Attributes to PDO Object
- * @method: instance -> method [ setAttribute ]
- */
- $this->db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
- $this->db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
- $this->db->setAttribute(PDO::ATTR_TIMEOUT, 0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement