Fehler-Lösung

Target class [Controller] does not exist beheben

Laravel findet die Klasse, die eine Route oder der Container auflösen soll, nicht (BindingResolutionException).

Die Fehlermeldung

Target class [App\Http\Controllers\UserController] does not exist.

Mögliche Ursachen

  • Namespace oder Import fehlt. Routen werden seit Laravel 8 nicht mehr automatisch mit dem Controller-Namespace ergänzt. Der Controller muss importiert oder mit vollem Klassennamen referenziert werden.
  • Dateiname und Klassenname weichen ab. Auf Linux ist die Groß- und Kleinschreibung relevant. UserController.php muss die Klasse UserController enthalten.
  • Autoload-Map veraltet. Eine neu angelegte Klasse ist in der Composer-Autoload-Map noch nicht enthalten.

Lösung

  1. In routes/web.php den Controller mit use importieren und als UserController::class übergeben.
  2. Namespace in der Datei und Pfad der Datei vergleichen.
  3. composer dump-autoload ausführen.

Route

use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);

Quelle: Laravel 12.x: Routing · Stand: 2026-10-09

Verwandte Fehler

Fehler bleibt bestehen?

Ich schaue mir Ihr Laravel-Projekt an und sage Ihnen ehrlich, woran es liegt. Kostenloses 30-Minuten-Gespräch.