Example #1
0
 public static function get($route, $postdata = NULL)
 {
     self::$url = explode('/', $route);
     self::$path = self::$url[0];
     if (isset(self::$url[1])) {
         self::$arguments = self::$url[1];
     }
     if (count($postdata)) {
         self::$arguments = $postdata;
     }
     foreach (self::$routes as $route_url => $route_method) {
         if ($route_url === self::$path) {
             $route_array = explode('.', $route_method);
             self::$controller = $route_array[0];
             self::$method = $route_array[1];
         }
     }
     //útvonal helyességének ellenőrzése a kontrolleren
     if (file_exists(__CONTROLLERS__ . '/' . self::$controller . '.php')) {
         require __CONTROLLERS__ . '/' . self::$controller . '.php';
     } else {
         if (self::$controller === '') {
             $currentController = '';
         } else {
             Error::RouteNotFound(self::$url[0]);
         }
     }
     //kontroller létrehozása
     $currentController = new self::$controller();
     //kontroller metódusának ellenőrzése, argumentumkezelés
     if (method_exists($currentController, self::$method)) {
         $method = self::$method;
         $arguments = self::$arguments;
         $argument_array = new ReflectionMethod($currentController, $method);
         $argument_count = count($argument_array->getParameters());
         $argument_count > 0 ? $currentController->{$method}($arguments) : $currentController->{$method}();
     } else {
         Error::MethodNotExists(self::$controller, self::$method);
     }
 }
Example #2
0
 public static function setController($controller)
 {
     self::$controller = $controller;
 }