fix(Discovery): Add comprehensive debug logging for router initialization
- Add initializer count logging in DiscoveryServiceBootstrapper - Add route structure analysis in RouterSetup - Add request parameter logging in HttpRouter - Update PHP production config for better OPcache handling - Fix various config and error handling improvements
This commit is contained in:
57
tests/debug/check-discovery.php
Normal file
57
tests/debug/check-discovery.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
require __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use App\Framework\Core\AppBootstrapper;
|
||||
use App\Framework\Discovery\DiscoveryRegistry;
|
||||
use App\Framework\Attributes\Route;
|
||||
|
||||
echo "=== Discovery Debug Script ===\n\n";
|
||||
|
||||
try {
|
||||
// Bootstrap application
|
||||
$bootstrapper = new AppBootstrapper();
|
||||
$container = $bootstrapper->bootstrap();
|
||||
|
||||
// Get DiscoveryRegistry
|
||||
$registry = $container->get(DiscoveryRegistry::class);
|
||||
|
||||
// Check Route attribute count
|
||||
$routeCount = $registry->attributes->getCount(Route::class);
|
||||
|
||||
echo "📊 Discovery Stats:\n";
|
||||
echo " - Total Route Attributes Found: {$routeCount}\n\n";
|
||||
|
||||
if ($routeCount === 0) {
|
||||
echo "❌ NO ROUTES DISCOVERED!\n";
|
||||
echo " This explains why the router cannot find any routes.\n\n";
|
||||
|
||||
// Check if discovery ran at all
|
||||
echo "🔍 Checking discovery results...\n";
|
||||
$allAttributes = $registry->attributes->all();
|
||||
echo " - Total attribute types discovered: " . count($allAttributes) . "\n";
|
||||
foreach ($allAttributes as $attrType => $instances) {
|
||||
echo " - {$attrType}: " . count($instances) . " instances\n";
|
||||
}
|
||||
} else {
|
||||
echo "✅ Routes discovered successfully!\n";
|
||||
echo " Listing first 10 routes:\n\n";
|
||||
|
||||
$routes = $registry->attributes->get(Route::class);
|
||||
$count = 0;
|
||||
foreach ($routes as $routeData) {
|
||||
if ($count++ >= 10) break;
|
||||
|
||||
$route = $routeData->instance;
|
||||
echo " - {$route->method->value} {$route->path}\n";
|
||||
echo " Controller: {$routeData->className}\n";
|
||||
echo " Method: {$routeData->method->name}\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
echo "❌ Error: " . $e->getMessage() . "\n";
|
||||
echo " File: {$e->getFile()}:{$e->getLine()}\n";
|
||||
echo " Stack trace:\n{$e->getTraceAsString()}\n";
|
||||
}
|
||||
Reference in New Issue
Block a user