extensionReflection = new ReflectionExtension($extension); } public function getClasses(): array { $classes = $this->extensionReflection->getClassNames(); \natcasesort($classes); return $classes; } public function getFunctions(): array { $functionReflections = $this->extensionReflection->getFunctions(); if (empty($functionReflections)) { return []; } $functions = []; foreach ($functionReflections as $functionReflection) { $functions[] = $functionReflection->getName(); } \natcasesort($functions); return $functions; } public function getConstants(): array { $constants = $this->extensionReflection->getConstants(); if (empty($constants)) { return []; } $constants = array_keys($constants); \natcasesort($constants); return $constants; } public function getRequiredDependencies(): array { $dependencies = $this->extensionReflection->getDependencies(); if (empty($dependencies)) { return []; } $requiredDependencies = []; foreach ($dependencies as $dependency => $status) { if ($status !== 'required') { continue; } $requiredDependencies[] = $dependency; } \natcasesort($requiredDependencies); return $requiredDependencies; } }