isFile() && $fileInfo->getExtension() === 'php') { $className = pathinfo($fileInfo->getFilename(), PATHINFO_FILENAME); $reflection = new ReflectionClass($className); $methods = $reflection->getMethods(ReflectionMethod::IS_PUBLIC); $classSignatures = "Class: {$className}\n"; foreach ($methods as $method) { $params = $method->getParameters(); $paramStrings = []; foreach ($params as $param) { $type = $param->getType() ? $param->getType() . ' ' : ''; $paramStrings[] = $type . '$' . $param->getName(); } $paramList = implode(', ', $paramStrings); $returnType = $method->getReturnType() ? ': ' . $method->getReturnType() : ''; $classSignatures .= "{$method->getName()}({$paramList}){$returnType}\n"; } file_put_contents($outputFile, $classSignatures . "\n", FILE_APPEND); } }