|null */ private ?array $slugs = null; /** * @return list */ public function slugs(): array { if ($this->slugs !== null) { return $this->slugs; } $slugs = []; foreach (Router::getRoutes()->getRoutes() as $route) { /** @var Route $route */ $name = $route->getName(); if ($name === null || ! str_starts_with($name, 'api.modules.')) { continue; } $slug = explode('.', substr($name, strlen('api.modules.')))[0]; if ($slug !== '') { $slugs[$slug] = true; } } return $this->slugs = array_keys($slugs); } }