Enable Discovery debug logging for production troubleshooting

- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
This commit is contained in:
2025-08-11 20:13:26 +02:00
parent 59fd3dd3b1
commit 55a330b223
3683 changed files with 2956207 additions and 16948 deletions

View File

@@ -0,0 +1,66 @@
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use App\Framework\DI\InitializerDependencyGraph;
use App\Framework\Reflection\CachedReflectionProvider;
echo "=== Testing InitializerDependencyGraph API ===\n\n";
try {
$reflectionProvider = new CachedReflectionProvider();
$graph = new InitializerDependencyGraph($reflectionProvider);
// Add some test initializers
$graph->addInitializer('App\\Cache\\Cache', 'App\\Config\\CacheInitializer', 'createCache');
$graph->addInitializer('App\\Database\\Connection', 'App\\Config\\DatabaseInitializer', 'createConnection');
$graph->addInitializer('App\\Logging\\Logger', 'App\\Config\\LoggerInitializer', 'createLogger');
echo "=== Testing New API Methods ===\n";
// Test hasNode
echo "Has Cache node: " . ($graph->hasNode('App\\Cache\\Cache') ? 'Yes' : 'No') . "\n";
echo "Has Redis node: " . ($graph->hasNode('App\\Cache\\Redis') ? 'Yes' : 'No') . "\n\n";
// Test getNode
$cacheNode = $graph->getNode('App\\Cache\\Cache');
if ($cacheNode) {
echo "✅ Cache node found:\n";
echo " " . $cacheNode->toString() . "\n";
echo " Class: " . $cacheNode->getClassName() . "\n";
echo " Method: " . $cacheNode->getMethodName() . "\n";
echo " Dependencies: " . count($cacheNode->dependencies) . "\n\n";
}
$missingNode = $graph->getNode('App\\NonExistent\\Service');
echo "Missing node result: " . ($missingNode === null ? 'null (correct)' : 'found (unexpected)') . "\n\n";
// Test getNodes (new API)
echo "=== Testing Node Enumeration ===\n";
$nodes = $graph->getNodes();
echo "Total nodes: " . count($nodes) . "\n";
foreach ($nodes as $returnType => $node) {
echo "- $returnType: {$node->getClassName()}::{$node->getMethodName()}\n";
}
echo "\n=== Testing Execution Order ===\n";
$executionOrder = $graph->getExecutionOrder();
echo "Execution order: " . implode(' → ', $executionOrder) . "\n\n";
// Test backward compatibility
echo "=== Testing Backward Compatibility ===\n";
$nodesArray = $graph->getNodesAsArray();
echo "Nodes as array format (backward compatibility):\n";
foreach ($nodesArray as $returnType => $nodeData) {
echo "- $returnType: {$nodeData['class']}::{$nodeData['method']} (deps: " . count($nodeData['dependencies']) . ")\n";
}
echo "\n✅ All InitializerDependencyGraph API tests passed!\n";
} catch (Exception $e) {
echo "❌ Error: " . $e->getMessage() . "\n";
echo "Stack trace:\n" . $e->getTraceAsString() . "\n";
}