Example #1
0
 public function __construct()
 {
     $app = App::getInstance();
     // On initialise l'objet Request
     if ($_ENV['USE_ROUTES']) {
         require '../Config/routes.php';
         $this->request = Router::run(new Request($app));
     } else {
         $this->request = new Request($app);
     }
     // On parse l'url (définition du controller, action,...)
     Router::parse($this->request);
     // On affiche les erreurs ?
     Debug::set();
     // On charge le bon controller
     try {
         $controller = $this->loadController();
     } catch (SwithException $e) {
         (new SwithError(['message' => "Le controller {$this->request->controller} est introuvable", "title" => "Controlleur introuvable"]))->display();
     }
     if (method_exists($controller, "beforeRender")) {
         $controller->beforeRender();
     }
     // On appelle la fonction
     $action = $this->request->getAction();
     $availablesActions = array_diff(get_class_methods($controller), get_class_methods(get_parent_class($controller)));
     if (in_array($action, $availablesActions)) {
         call_user_func_array([$controller, $action], $this->request->params);
     } else {
         (new SwithError(['message' => "Le controller {$this->request->controller} n'a pas de methode {$action}", "title" => "Methode introuvable"]))->display();
     }
     $controller->render($controller->view);
 }
Example #2
0
 function __construct()
 {
     LoaderJavascript::add("debug", "controller.init", Conf::$debug);
     LoaderJavascript::add("test", "controller.init");
     $this->debug = new Debug($this);
     $this->debug->handle_errors();
     if (!Conf::$install) {
         $this->roleUser();
     }
     $this->request = new Request();
     Router::parse($this->request->url, $this->request);
 }
Example #3
0
 function __construct()
 {
     $this->request = new Request();
     Router::parse($this->request->url, $this->request);
     $controller = $this->loadController();
     $action = $this->request->action;
     foreach ($this->request->params as $param) {
         $this->parametre .= $param . ", ";
     }
     $this->parametre = rtrim($this->parametre, ", ");
     if (empty($this->parametre)) {
         $controller->{$action}();
     } else {
         $controller->{$action}($this->parametre);
     }
 }