Esempio n. 1
0
 /** 
  * getInstance
  * 
  * Method to get an instance of the object
  * @return Lynx_Router self::$_instance
  */
 public static function getInstance()
 {
     if (self::$_instance == NULL) {
         self::$_instance = new Lynx_Router();
     }
     return self::$_instance;
 }
Esempio n. 2
0
 /**
  *  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');
     }
 }