E.g.:
$GLOBALS['cfg']->defineDatabaseType("local");
This will choose the local-file-based database type (layer)");
}
// Generate FQFN for the database layer
$INC = sprintf("%sinc/database/lib-%s%s", PATH, _DB_TYPE, FrameworkConfiguration::getInstance()->readConfig("php_extension"));
// Load the database layer include
if ((file_exists($INC)) && (is_file($INC)) && (is_readable($INC))) {
// Load the layer
require_once($INC);
} else {
// Layer is missing!
ApplicationEntryPoint::app_die(sprintf("[Main:] Database layer is missing! (%s) -> R.I.P.",
_DB_TYPE
));
}
// Clean it up
unset($INC);
// Prepare database instance
try {
$db = DatabaseConnection::createDatabaseConnection(DebugMiddleware::getInstance(), $layer);
} catch (NullPointerException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
} catch (InvalidDirectoryResourceException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
} catch (PathIsEmptyException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
} catch (PathIsNoDirectoryException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
} catch (PathReadProtectedException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
} catch (DirPointerNotOpenedException $e) {
ApplicationEntryPoint::app_die(sprintf("[Main:] Datenbank-System nicht initialisiert. Reason: %s
\n",
$e->getMessage()
));
}
// Datenbankobjekt debuggen
if (defined('DEBUG_DATABASE_OBJ')) {
DebugMiddleware::getInstance()->output(sprintf("Die Datenbank-Schicht sieht wie folgt aus:
%s
\n",
print_r($db, true)
));
}
// [EOF]
?>