Example #1
0
 public function testSubjectAndAction()
 {
     $_SERVER['REQUEST_METHOD'] = 'GET';
     $this->route->generate($this->router);
     $this->assertEquals($this->route->getSubject(), 'blog');
     $this->assertEquals($this->route->getAction(), 'login');
 }
Example #2
0
 public function route()
 {
     $route = new Route();
     $uri = $_SERVER['REQUEST_URI'];
     $route->generate($this);
     //    Components::getInstance()->get('logger')->log('$route', $route);
     $routeSettings = $this->routingConfig[$route->getSubject()][$route->getAction()];
     //    Components::getInstance()->get('logger')->log('$route->getSubject()', $route->getSubject());
     //    Components::getInstance()->get('logger')->log('$route->getAction()', $route->getAction());
     //    Components::getInstance()->get('logger')->log('$routeSettings', $routeSettings);
     $class = $routeSettings['class'];
     $obj = new $class();
     //    Components::getInstance()->get('logger')->log('$route', $route);
     if (isset($routeSettings['rest']) && $routeSettings['rest']) {
         $action = $route->getAction();
         $obj->{$action}($route->getParams());
     } else {
         call_user_func_array(array($obj, $route->getAction()), $route->getParams());
     }
 }