bootstrapWeb(); $container = $application->getContainer(); echo "1. Checking if Request interface is bound:\n"; $requestBound = false; try { $request = $container->get(Request::class); echo " ✅ Request is bound in container\n"; echo " Type: " . get_class($request) . "\n"; $requestBound = true; } catch (Exception $e) { echo " ❌ Request NOT bound: " . $e->getMessage() . "\n"; } echo "\n2. Checking if HttpRequest is bound:\n"; try { $httpRequest = $container->get(HttpRequest::class); echo " ✅ HttpRequest is bound in container\n"; echo " Type: " . get_class($httpRequest) . "\n"; } catch (Exception $e) { echo " ❌ HttpRequest NOT bound: " . $e->getMessage() . "\n"; } echo "\n3. Checking container bindings:\n"; // Use reflection to check bindings $reflection = new ReflectionClass($container); $bindingsProperty = $reflection->getProperty('bindings'); $bindingsProperty->setAccessible(true); $bindings = $bindingsProperty->getValue($container); echo " Total bindings: " . count($bindings) . "\n"; // Check for Request-related bindings $requestRelated = []; foreach ($bindings as $key => $binding) { if (stripos($key, 'request') !== false) { $requestRelated[$key] = $binding; } } echo " Request-related bindings:\n"; if (empty($requestRelated)) { echo " ❌ No Request-related bindings found!\n"; } else { foreach ($requestRelated as $key => $binding) { $shortKey = substr($key, strrpos($key, '\\') + 1); echo " - $shortKey\n"; } } // Check lazy services echo "\n4. Checking lazy services:\n"; $lazyServicesProperty = $reflection->getProperty('lazyServices'); $lazyServicesProperty->setAccessible(true); $lazyServices = $lazyServicesProperty->getValue($container); echo " Total lazy services: " . count($lazyServices) . "\n"; $requestLazy = []; foreach ($lazyServices as $key => $factory) { if (stripos($key, 'request') !== false) { $requestLazy[$key] = $factory; } } echo " Request-related lazy services:\n"; if (empty($requestLazy)) { echo " ❌ No Request-related lazy services found!\n"; } else { foreach ($requestLazy as $key => $factory) { $shortKey = substr($key, strrpos($key, '\\') + 1); echo " - $shortKey\n"; } } echo "\n5. Testing RequestFactory directly:\n"; try { $factory = $container->get(\App\Framework\Http\RequestFactory::class); echo " ✅ RequestFactory found in container\n"; // Try to create request $request = $factory->createFromGlobals(); echo " ✅ Request created: " . get_class($request) . "\n"; } catch (Exception $e) { echo " ❌ RequestFactory error: " . $e->getMessage() . "\n"; } } catch (Exception $e) { echo "❌ Error: " . $e->getMessage() . "\n"; echo "Stack trace:\n" . $e->getTraceAsString() . "\n"; }