Example #1
0
 public function map($routeUrl, $target = '', array $args = array())
 {
     $route = new Route();
     $route->setUrl($this->basePath . $routeUrl);
     $route->setTarget($target);
     if (isset($args['methods'])) {
         $methods = explode(',', $args['methods']);
         $route->setMethods($methods);
     }
     if (isset($args['filters'])) {
         $route->setFilters($args['filters']);
     }
     if (isset($args['name'])) {
         $route->setName($args['name']);
         if (!isset($this->namedRoutes[$route->getName()])) {
             $this->namedRoutes[$route->getName()] = $route;
         }
     }
     $this->routes[] = $route;
 }
Example #2
0
 public function callRequest(Route $route)
 {
     $route->setUrl($this->urlRequest);
     foreach ($route->getRoutes() as $url => $config) {
         if ($route->testEqualsUrl($url) and strtolower($_SERVER['REQUEST_METHOD']) == $config->type) {
             $class = "Younote\\Controllers\\{$config->class}";
             if (class_exists($class)) {
                 $controller = new $class();
                 $method = $config->method;
                 if (!method_exists($controller, $method)) {
                     echo 'ERROR: method not found';
                 } else {
                     $this->setParam($url);
                     new Response($controller->{$method}($this));
                     break;
                 }
             } else {
                 echo 'ERROR: class not found';
             }
         }
     }
 }