- Move 12 markdown files from root to docs/ subdirectories - Organize documentation by category: • docs/troubleshooting/ (1 file) - Technical troubleshooting guides • docs/deployment/ (4 files) - Deployment and security documentation • docs/guides/ (3 files) - Feature-specific guides • docs/planning/ (4 files) - Planning and improvement proposals Root directory cleanup: - Reduced from 16 to 4 markdown files in root - Only essential project files remain: • CLAUDE.md (AI instructions) • README.md (Main project readme) • CLEANUP_PLAN.md (Current cleanup plan) • SRC_STRUCTURE_IMPROVEMENTS.md (Structure improvements) This improves: ✅ Documentation discoverability ✅ Logical organization by purpose ✅ Clean root directory ✅ Better maintainability
60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
// Bootstrap the application
|
|
require_once __DIR__ . '/../../vendor/autoload.php';
|
|
|
|
use App\Framework\Core\AppBootstrapper;
|
|
use App\Framework\DI\Initializer;
|
|
use App\Framework\Discovery\Results\DiscoveryRegistry;
|
|
use App\Framework\Performance\MemoryMonitor;
|
|
use App\Framework\Performance\PerformanceCollector;
|
|
|
|
$basePath = __DIR__ . '/../..';
|
|
|
|
// Create performance collector
|
|
$collector = new PerformanceCollector();
|
|
$memoryMonitor = new MemoryMonitor();
|
|
|
|
// Bootstrap application
|
|
$bootstrapper = new AppBootstrapper($basePath, $collector, $memoryMonitor);
|
|
$container = $bootstrapper->bootstrapWorker();
|
|
|
|
// Get discovery registry
|
|
$registry = $container->get(DiscoveryRegistry::class);
|
|
|
|
// Find all Initializer attributes
|
|
$initializers = $registry->attributes->get(Initializer::class);
|
|
|
|
echo "Found " . count($initializers) . " Initializer attributes:\n\n";
|
|
|
|
foreach ($initializers as $discoveredAttribute) {
|
|
$className = $discoveredAttribute->className->toString();
|
|
$methodName = $discoveredAttribute->methodName?->toString() ?? 'N/A';
|
|
|
|
// Check if it's RequestFactory
|
|
if (str_contains($className, 'RequestFactory')) {
|
|
echo ">>> FOUND RequestFactory!\n";
|
|
echo "Class: {$className}\n";
|
|
echo "Method: {$methodName}\n";
|
|
|
|
// Check additional data
|
|
$additionalData = $discoveredAttribute->additionalData;
|
|
if ($additionalData) {
|
|
echo "Additional Data:\n";
|
|
print_r($additionalData);
|
|
}
|
|
echo "\n";
|
|
}
|
|
|
|
echo "{$className}::{$methodName}\n";
|
|
}
|
|
|
|
echo "\nChecking Container bindings for Request interface...\n";
|
|
if ($container->has(\App\Framework\Http\Request::class)) {
|
|
echo "✅ Request interface IS bound\n";
|
|
} else {
|
|
echo "❌ Request interface is NOT bound\n";
|
|
}
|