public function testSubjectAndAction() { $_SERVER['REQUEST_METHOD'] = 'GET'; $this->route->generate($this->router); $this->assertEquals($this->route->getSubject(), 'blog'); $this->assertEquals($this->route->getAction(), 'login'); }
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()); } }