# Hotfix für DomainContext Binding-Problem ## 🚨 Problem Der RouteServiceProvider versucht DomainContext aus dem Service Container zu holen, aber die Klasse hat required Parameter und kann nicht automatisch aufgelöst werden. ## ⚡ Sofort-Lösung (Hotfix) ### Option 1: RouteServiceProvider temporär deaktivieren **File: `app/Providers/RouteServiceProvider.php`** Kommentiere die problematische Zeile aus: ```php protected function loadDomainAwareRoutes(): void { // TEMPORÄR AUSKOMMENTIERT BIS CLAUDE v2 IMPLEMENTIERT // /** @var DomainContext $context */ // $context = app(DomainContext::class); // Fallback: Lade alle Routen für alle Domains $this->loadAllDomainRoutesForCaching(); // Original code auskommentiert: /* $this->loadSharedRoutes(); if (config('app.debug')) { \Log::channel('domain')->info('loadDomainAwareRoutes', ['context' => $context]); } match ($context->type) { 'main' => $this->loadDomainRoutes('main', 'main.php'), 'main-shop' => [ $this->loadDomainRoutes('shop', 'shop.php'), $this->loadDomainRoutes('portal', 'portal.php'), ], 'user-shop' => [ $this->loadDomainRoutes('user-shop', 'user-shop.php'), $this->loadDomainRoutes('portal', 'portal.php'), ], 'crm' => $this->loadDomainRoutes('crm', 'crm.php'), 'portal' => $this->loadDomainRoutes('portal', 'portal.php'), 'checkout' => $this->loadDomainRoutes('checkout', 'checkout.php'), default => $this->loadAllDomainRoutesForCaching(), }; */ } ``` ### Option 2: DomainServiceProvider temporär deaktivieren **File: `config/app.php`** ```php 'providers' => [ // ... andere providers // TEMPORÄR AUSKOMMENTIERT: // App\Providers\DomainServiceProvider::class, // ... rest of providers ]; ``` ## 🎯 Permanente Lösung: Claude v2 Implementation Nach dem Hotfix, implementiere Claude v2: ```bash # 1. Hotfix anwenden (siehe oben) # 2. Cache löschen php artisan config:clear php artisan route:clear # 3. Claude v2 implementieren cp dev/subdomain-optimization-claude-v2/src/Http/Middleware/SubdomainResolver.php app/Http/Middleware/ # 4. Middleware registrieren in app/Http/Kernel.php # (siehe IMPLEMENTATION.md für Details) # 5. RouteServiceProvider zurück auf einfache Routen # (entferne domain-aware routing logic) ``` ## 🔄 RouteServiceProvider für Claude v2 anpassen Nach Claude v2 Implementation, vereinfache den RouteServiceProvider: ```php protected function loadDomainAwareRoutes(): void { // Einfacher Ansatz: Lade Standard-Web-Routen // Domain-Logic wird von SubdomainResolver-Middleware behandelt $this->loadSharedRoutes(); // Lade alle Web-Routen (Domain-Filtering passiert in Middleware) Route::group([], base_path('routes/web.php')); // Optional: Spezielle Domain-Routen falls nötig if (file_exists(base_path('routes/domains'))) { foreach (glob(base_path('routes/domains/*.php')) as $routeFile) { Route::group([], $routeFile); } } } ``` ## ⚡ Sofortige Ausführung Führe diesen Hotfix **jetzt sofort** aus: ```bash # Backup erstellen cp app/Providers/RouteServiceProvider.php app/Providers/RouteServiceProvider.php.backup # Config auskommentieren sed -i 's/App\\Providers\\DomainServiceProvider::class,/\/\/ App\\Providers\\DomainServiceProvider::class, \/\/ TEMPORÄR DEAKTIVIERT/' config/app.php # Cache löschen php artisan config:clear php artisan route:clear # Test ob Anwendung läuft php artisan route:list ``` Danach sollte die Anwendung wieder laufen und du kannst in Ruhe Claude v2 implementieren.