/** * @param RouteAnnotation $route * @return Route */ private function createRoute(RouteAnnotation $route) { if ($route->isCsrf()) { $route->setOptions(['csrf' => true]); } return new Route($route->getPath(), $route->getDefaults(), $route->getRequirements(), $route->getOptions(), $route->getHost(), $route->getSchemes(), $route->getMethods(), $route->getCondition()); }
/** * @param Route $routeAnnotation * @param ReflectionMethod $method * @param string $serviceId * @param Guest $guestAnnotation * @param Role $roleAnnotation */ protected function setDefaults(Route $routeAnnotation, ReflectionMethod $method, string $serviceId, Guest $guestAnnotation = null, Role $roleAnnotation = null) { $defaults = $routeAnnotation->getDefaults(); $defaults['_controller'] = [$serviceId, $method->getName()]; if ($guestAnnotation) { $defaults['_guest'] = true; } if ($roleAnnotation) { $defaults['_role'] = $roleAnnotation->role; } $routeAnnotation->setDefaults($defaults); }