コード例 #1
0
ファイル: Naf.php プロジェクト: BackupTheBerlios/naf-svn
 static function dbConnect()
 {
     if (self::$pdo instanceof PDO) {
         return;
     }
     try {
         try {
             self::$pdo = new PDO(self::$settings['database']['dsn'], self::$settings['database']['username'], self::$settings['database']['password'], self::$settings['database']['options']);
             self::$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         } catch (PDOException $e) {
             die($e->getMessage());
         }
     } catch (PDOException $e) {
         die('DB Connection failed');
     }
     if (0 === strpos(self::$settings['database']['dsn'], 'mysql')) {
         self::$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
         if (!empty(self::$settings['database']['collation'])) {
             self::$pdo->query('SET NAMES ' . self::$settings['database']['collation']);
         }
     }
     if (!empty(self::$settings['database']['upon_connection_queries'])) {
         foreach (self::$settings['database']['upon_connection_queries'] as $sql) {
             self::$pdo->query($sql);
         }
     }
 }
コード例 #2
0
ファイル: Naf.php プロジェクト: nakonechny/naf
 /**
  * @return PDO
  */
 static function pdo()
 {
     if (is_object(self::$pdo)) {
         return self::$pdo;
     } else {
         // @todo lazy connection w/help of Naf_Proxy
         self::$pdo = new PDO(self::$settings['database']['dsn'], self::$settings['database']['username'], self::$settings['database']['password'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
         foreach ((array) @self::$settings['database']['startup_queries'] as $sql) {
             self::$pdo->exec($sql);
         }
         if ('mysql' == self::$pdo->getAttribute(PDO::ATTR_DRIVER_NAME)) {
             self::$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
         }
         return self::$pdo;
     }
 }
コード例 #3
0
ファイル: ActiveRecord.php プロジェクト: nakonechny/naf
 /**
  * @return PDO
  */
 static function getConnection()
 {
     if (null === static::$connection) {
         ActiveRecord::setConnection(\Naf::pdo());
     }
     return static::$connection;
 }