/** * getInstance * * Method to get an instance of the registry * @return Lynx_Registry self::$_instance */ public static function getInstance() { if (self::$instance == NULL) { self::$instance = new Lynx_Registry(); } return self::$instance; }
echo '</pre>'; } // we are going to use sessions session_start(); #$Session = new Lynx_Session(); require_once 'Lynx/Registry.php'; require_once 'Lynx/Database.php'; $init = array('adapter' => 'MySQL', 'init' => array('host' => 'localhost', 'user' => 'lynx', 'pass' => 'lynxproject', 'db' => 'lynx', 'prefix' => '')); try { $Database = Lynx_Database::factory($init); #$Database->debug(); } catch (Exception $e) { die('Failed to initialize the database.'); } require_once 'Lynx/Controller/Front.php'; $Registry = Lynx_Registry::getInstance(); $Registry->set('database', $Database); $controller = Lynx_Controller_Front::getInstance(); $controller->run($Registry); // debug info /* require_once('Lynx/Usage/Usage_Memory.php'); $memory = new Lynx_Usage_Memory; echo 'Query Count = '.$Database::queryCount(); echo '<br />'; echo 'Memory Usage = '.($memory->usage()/1024).'KB'; echo '<br />'; echo 'Peak Memory = '.($memory->peak()/1024).'KB'; echo '<br />'; echo 'Run Time = '.(microtime(true) - APP_START_TIME); */
/** * run * * run is used to execute the specified Controller * @final * @param Lynx_Registry $registry Used upon instanitation of the Controller objects * @return void */ public final function run(Lynx_Registry $registry) { $Router = Lynx_Router::getInstance(); $Request = Lynx_Request::getInstance(); // pass the current module, controller and action to the Registry $registry->set('module', $Request->currentModule())->set('controller', $Request->currentController())->set('action', $Request->currentAction())->set('modulesDirectory', $Router->getModulesDirectoryName()); // load up the business logic ... module's controller $controllerDirectory = NULL; $controllerDirectory .= $Router->getModulesDirectoryName() ? $Router->getModulesDirectoryName() . DIRECTORY_SEPARATOR : ''; $controllerDirectory .= $_REQUEST['module'] . DIRECTORY_SEPARATOR; $controllerDirectory .= $Router->getControllersDirectoryName() ? $Router->getControllersDirectoryName() . DIRECTORY_SEPARATOR : ''; if (is_file($controllerDirectory . $_REQUEST['controller'] . 'Controller.php')) { require_once $controllerDirectory . $_REQUEST['controller'] . 'Controller.php'; } else { exit('Undefined controller'); } $controller = $_REQUEST['controller'] . 'Controller'; $controller = new $controller($registry); if (method_exists($controller, $_REQUEST['action'] . 'Action')) { $controller->{$_REQUEST['action'] . 'Action'}(); } else { exit('Undefined action'); } }