Ejemplo n.º 1
0
 private function httpWork()
 {
     $RouteMatch = new RouteMatch(self::$routesFile);
     $parameters = $RouteMatch->work();
     $routeController = $parameters->getControllerAndMethod();
     $routeArguments = $parameters->getArguments();
     if (is_callable($routeController)) {
         $return = call_user_func_array($routeController, $routeArguments);
     } else {
         $calssPosition = "\\App\\Http\\Controllers\\" . $parameters->getController();
         $controllerInstance = call_user_func_array([$calssPosition, 'work'], [$parameters]);
         // middleware work
         $return = MiddlewareMatch::work($parameters);
         is_bool($return) && ($return = call_user_func_array([$controllerInstance, $parameters->getMethod()], $routeArguments));
     }
     $this->setResponseContent($return);
 }
Ejemplo n.º 2
0
 /**
  * @return SymfonyRoute
  */
 public function getRoute()
 {
     if (!is_null($this->Route)) {
         return $this->Route;
     }
     if (is_null($this->parameters)) {
         return null;
     }
     if (isset($this->parameters['_route'])) {
         return $this->Route = RouteMatch::getRoute($this->parameters['_route']);
     }
     return null;
 }
Ejemplo n.º 3
0
 public function redirectRoute($routeName, $statusCode = 302, array $headers = [])
 {
     $route = RouteMatch::getRoute($routeName);
     $uri = $route->getPath();
     return $this->redirect($uri, $statusCode, $headers);
 }