Example #1
0
 protected static function _setupPdo()
 {
     // Check the DSN string
     if (!isset(static::$_dsn)) {
         $error = "No DSN specified in " . get_called_class();
         $error .= ": please specify a 'protected static \$_dsn = ...;'";
         throw new Exception($error);
     }
     $user = null;
     $password = null;
     $options = array();
     // If it is MySQL, extract user and password from the DSN
     $dsn = explode(":", static::$_dsn);
     if ('mysql' == $dsn[0]) {
         $parts = explode(";", $dsn[1]);
         foreach ($parts as $i => $part) {
             $kv = explode('=', $part);
             $parts[$kv[0]] = $kv[1];
             unset($parts[$i]);
         }
         $user = @ZFE_Core::value($parts['user']);
         $password = @ZFE_Core::value($parts['password']);
         unset($parts['user']);
         unset($parts['password']);
         $_parts = array();
         foreach ($parts as $k => $v) {
             $_parts[] = "{$k}={$v}";
         }
         $dsn[1] = implode(";", $_parts);
         // Update default fetch mode (maybe put this in the global
         // function scope)
         $options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_ASSOC;
     }
     $dsn = implode(":", $dsn);
     static::$_pdo = new PDO($dsn, $user, $password, $options);
 }
Example #2
0
 private function doAssert($val)
 {
     $this->assertEquals($val, ZFE_Core::value($val));
 }