/** * Establish connection to server based on config. * * @param Flux_Config $dbConfig * @return PDO * @access private */ private function connect(Flux_Config $dbConfig) { $dsn = 'mysql:'; // Differentiate between a socket-type connection or an ip:port // connection. if ($sock = $dbConfig->getSocket()) { $dsn .= "unix_socket={$sock}"; } else { $dsn .= 'host=' . $dbConfig->getHostname(); if ($port = $dbConfig->getPort()) { $dsn .= ";port={$port}"; } } // May or may not have a database name specified. if ($dbName = $dbConfig->getDatabase()) { $dsn .= ";dbname={$dbName}"; } $persistent = array(PDO::ATTR_PERSISTENT => (bool) $dbConfig->getPersistent()); return new PDO($dsn, $dbConfig->getUsername(), $dbConfig->getPassword(), $persistent); }