addRoute(new ApiRoute( $route['name'], $route['uri'], $route['methods'], )); } return $instance; } public function addRoute(ApiRoute $route): self { $this->routes[] = $route; return $this; } /** * @throws RouteDoesNotExistException */ public function getRoute(string $name): ApiRoute { foreach ($this->routes as $route) { if ($route->name === $name) { return $route; } } throw new RouteDoesNotExistException(esc_html($name)); } public function hasRoute(string $name): bool { return $this->getRoute($name) !== null; } }