예제 #1
0
 /**
  * Connects to the database using the options provided to the class constructor.
  *
  * @return boolean Returns `true` if a database connection could be established,
  *                 otherwise `false`.
  */
 public function connect()
 {
     if (!$this->_config['database']) {
         throw new DatabaseException('Error, no database name has been configured.');
     }
     if (!$this->_config['dsn']) {
         $this->_config['dsn'] = "sqlite:" . $this->_config['database'];
     }
     return parent::connect();
 }
예제 #2
0
 /**
  * Connects to the database using the options provided to the class constructor.
  *
  * @return boolean Returns `true` if a database connection could be established,
  *                 otherwise `false`.
  */
 public function connect()
 {
     if (!$this->_config['database']) {
         throw new DatabaseException('Error, no database name has been configured.');
     }
     if (!$this->_config['dsn']) {
         $host = $this->_config['host'];
         list($host, $port) = explode(':', $host) + [1 => "3306"];
         $dsn = "mysql:host=%s;port=%s;dbname=%s";
         $this->_config['dsn'] = sprintf($dsn, $host, $port, $this->_config['database']);
     }
     if (!parent::connect()) {
         return false;
     }
     $info = $this->client()->getAttribute(PDO::ATTR_SERVER_VERSION);
     $this->_alias = (bool) version_compare($info, "4.1", ">=");
     return true;
 }
예제 #3
0
 /**
  * Connects to the database using the options provided to the class constructor.
  *
  * @return boolean Returns `true` if a database connection could be established,
  *                 otherwise `false`.
  */
 public function connect()
 {
     if (!$this->_config['database']) {
         throw new DatabaseException('Error, no database name has been configured.');
     }
     if (!$this->_config['dsn']) {
         $host = $this->_config['host'];
         list($host, $port) = explode(':', $host) + [1 => "5432"];
         $dsn = "pgsql:host=%s;port=%s;dbname=%s";
         $this->_config['dsn'] = sprintf($dsn, $host, $port, $this->_config['database']);
     }
     if (!parent::connect()) {
         return false;
     }
     if ($this->_config['schema']) {
         $this->searchPath($this->_config['schema']);
     }
     if ($this->_config['timezone']) {
         $this->timezone($this->_config['timezone']);
     }
     return true;
 }