From 00fcfb8b9d95b22a000332cbe6c774bbbb15ed7a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 11 Jun 2008 23:11:39 +0000 Subject: [PATCH] New starter/init style applied --- application/hub/init.php | 42 ++++++++++++++++++++---------------- application/hub/loader.php | 9 +++----- index.php | 44 +++++++++++++++++++------------------- 3 files changed, 48 insertions(+), 47 deletions(-) diff --git a/application/hub/init.php b/application/hub/init.php index 4ac89d331..67d489cbc 100644 --- a/application/hub/init.php +++ b/application/hub/init.php @@ -32,20 +32,6 @@ * along with this program. If not, see . */ -// Get an instance of the helper -$eval = sprintf("\$app = %s::getInstance();", - FrameworkConfiguration::getInstance()->readConfig("app_helper_class") -); -eval($eval); - -// Set application name and version -$app->setAppName("MXChange Hub"); -$app->setAppVersion("0.0.0"); -$app->setAppShortName("mxhub"); - -// Get's our IP address -$_SERVER['SERVER_ADDR'] = ConsoleTools::aquireSelfIPAddress(); - // Initialize output system require(PATH . "inc/output.php"); @@ -57,10 +43,28 @@ require(PATH . "inc/language.php"); // This application needs a database connection then we have to simply include // the inc/database.php script -require(sprintf("%sinc/database%s", - PATH, - FrameworkConfiguration::getInstance()->readConfig("php_extension") -)); +require(PATH . "inc/database.php"); + +// Generate call-back function +$callback = sprintf("%s::getInstance", + FrameworkConfiguration::getInstance()->readConfig('app_helper_class') +); + +// Get an instance of the helper +$app = call_user_func_array($callback, array()); + +// Set application name and version +$app->setAppName("MXChange Hub"); +$app->setAppVersion("0.0.0"); +$app->setAppShortName("mxhub"); + +// Get's our IP address +$_SERVER['SERVER_ADDR'] = ConsoleTools::aquireSelfIPAddress(); + +// Set instances +$app->setFileIoInstance($io); +$app->setLanguageInstance($lang); +$app->setDatabaseInstance($db); // [EOF] -?> +?> \ No newline at end of file diff --git a/application/hub/loader.php b/application/hub/loader.php index 08c2de014..1c153b69c 100644 --- a/application/hub/loader.php +++ b/application/hub/loader.php @@ -21,17 +21,14 @@ * along with this program. If not, see . */ -// Is the instance variable set? -if (!isset($application)) { - // We need this! - ApplicationEntryPoint::app_die("[Main:] Interne Variable application nicht gefunden!"); -} +// Get config instance +$cfg = FrameworkConfiguration::getInstance(); // Load all classes for the application foreach ($lowerClasses as $class) { // Try to load the application classes try { - ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", FrameworkConfiguration::getInstance()->readConfig("application_path"), $application, $class)); + ClassLoader::getInstance()->loadClasses(sprintf("%s/%s/%s", $cfg->readConfig("application_path"), $cfg->readConfig("app_name"), $class)); } catch (PathIsNoDirectoryException $e) { ApplicationEntryPoint::app_die(sprintf("[Main:] Kann Applikationsklassen im Pfad %s nicht laden. Reason: %s", $class, diff --git a/index.php b/index.php index 9cabcb0a8..947baf3c9 100644 --- a/index.php +++ b/index.php @@ -1,4 +1,8 @@ readConfig("tpl_engine"); + $tpl = FrameworkConfiguration::getInstance()->readConfig('tpl_engine'); $lang = LanguageSystem::getInstance(); - $io = FileIOHandler::getInstance(); + $io = FileIoHandler::getInstance(); // Is the template engine loaded? if ((class_exists($tpl)) && (is_object($lang)) && (is_object($io))) { // Use the template engine for putting out (nicer look) the message try { - $eval = sprintf("\$tplEngine = %s::create%s(\"%s%s\", \$lang, \$io);", - FrameworkConfiguration::getInstance()->readConfig("tpl_engine"), - FrameworkConfiguration::getInstance()->readConfig("tpl_engine"), - PATH, - FrameworkConfiguration::getInstance()->readConfig("tpl_base_path") - ); - eval($eval); + // Get the template instance from our object factory + $tplEngine = ObjectFactory::createObjectByConfiguredName('tpl_engine', array(FrameworkConfiguration::getInstance()->readConfig('tpl_base_path'), $lang, $io)); } catch (BasePathIsEmptyException $e) { - die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: %s", + die(sprintf("[Main:] Could not initialize template engine for this reason: %s", $e->getMessage() )); } catch (InvalidBasePathStringException $e) { - die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: %s", + die(sprintf("[Main:] Could not initialize template engine for this reason: %s", $e->getMessage() )); } catch (BasePathIsNoDirectoryException $e) { - die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: %s", + die(sprintf("[Main:] Could not initialize template engine for this reason: %s", $e->getMessage() )); } catch (BasePathReadProtectedException $e) { - die(sprintf("[Main:] Die Template-Engine konnte nicht initialisieren. Grund: %s", + die(sprintf("[Main:] Could not initialize template engine for this reason: %s", $e->getMessage() )); } @@ -110,11 +109,12 @@ class ApplicationEntryPoint { } // Assign variables - $tplEngine->assignVariable("message", $message); - $tplEngine->assignVariable("backtrace", $backtrace); + $tplEngine->assignVariable('message', $message); + $tplEngine->assignVariable('backtrace', $backtrace); + $tplEngine->assignVariable('total_objects', ObjectFactory::getTotal()); // Load the template - $tplEngine->loadCodeTemplate("emergency_exit"); + $tplEngine->loadCodeTemplate('emergency_exit'); // Compile the template $tplEngine->compileTemplate(); @@ -148,16 +148,16 @@ class ApplicationEntryPoint { global $_SERVER; // Load config file - require(dirname(__FILE__) . "/inc/config.php"); + require(dirname(__FILE__) . '/inc/config.php'); // Load all include files - require(PATH . "inc/includes.php"); + require(PATH . 'inc/includes.php'); // Load all framework classes - require(PATH . "inc/classes.php"); + require(PATH . 'inc/classes.php'); // Include the application selector - require(PATH . "inc/selector.php"); + require(PATH . 'inc/selector.php'); } // END - main() -- 2.39.5