Skip to main content
Glama
test-php-deep.js2.69 kB
import { execSync } from "child_process"; import path from "path"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); console.log("Testing PHP Deep Analysis...\n"); // Test PHP analyzer const testPhpDir = path.join(__dirname, "test-php-project"); console.log("=== PHP Analysis ==="); console.log(`Project: ${testPhpDir}\n`); try { const result = execSync( `node dist/index.js docs_analyze_project '${JSON.stringify({ projectPath: testPhpDir, language: "php", deep: true, })}'`, { encoding: "utf-8", maxBuffer: 10 * 1024 * 1024 } ); const analysis = JSON.parse(result); if (analysis.content && analysis.content[0]) { const content = JSON.parse(analysis.content[0].text); console.log("PHP Analysis Results:"); console.log( `- Files analyzed: ${content.deepAnalysis?.summary?.totalFiles || 0}` ); console.log( `- Classes found: ${content.deepAnalysis?.summary?.totalClasses || 0}` ); console.log( `- Functions found: ${content.deepAnalysis?.summary?.totalFunctions || 0}` ); console.log( `- Interfaces found: ${ content.deepAnalysis?.summary?.totalInterfaces || 0 }` ); console.log( `- Documentation coverage: ${ content.deepAnalysis?.summary?.overallDocCoverage?.toFixed(2) || 0 }%` ); if (content.deepAnalysis?.files?.length > 0) { console.log("\nFile Details:"); content.deepAnalysis.files.forEach((file) => { console.log(` ${path.basename(file.path)}:`); console.log(` - Classes: ${file.classes.length}`); console.log(` - Functions: ${file.functions.length}`); console.log( ` - Coverage: ${file.documentation.coverage.toFixed(2)}%` ); file.classes.forEach((cls) => { console.log(` Class: ${cls.name}`); console.log(` - Methods: ${cls.methods.length}`); console.log(` - Properties: ${cls.properties.length}`); console.log(` - Has docs: ${!!cls.documentation}`); }); file.functions.forEach((func) => { console.log(` Function: ${func.name}()`); console.log(` - Parameters: ${func.parameters.length}`); console.log(` - Has docs: ${!!func.documentation}`); }); }); } } console.log("\n✅ PHP Analysis completed successfully!"); } catch (error) { console.error("❌ PHP Analysis failed:", error.message); if (error.stdout) console.log("stdout:", error.stdout); if (error.stderr) console.log("stderr:", error.stderr); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ThaLoc0one/documentation-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server