Behebung des Fehlers „Zielklasse nicht gefunden“ in Laravel 8
Beim Arbeiten mit tritt der Fehler „Zielklassen-Controller existiert nicht“ auf Laravel 8 kann frustrierend sein. Dieses Problem entsteht aufgrund einer Änderung in der Standardkonfiguration von Laravel, die das automatische Präfix von Namespaces eliminiert.
Verstehen des Problems
In früheren Laravel-Versionen erhielten Routengruppen automatisch eine Namespace-Präfix, aber dieses Verhalten wurde in Laravel 8 entfernt. Folglich wird bei der Bezugnahme auf Controller in Routen der Fully Qualified Class Name (FQCN) verwendet. muss verwendet werden, um eine ordnungsgemäße Auflösung sicherzustellen.
Lösungsoptionen
// Register route using FQCN Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
a. Namespace zu Routengruppen hinzufügen:
// Add namespace to 'api' route group Route::prefix('api') ->middleware('api') ->namespace('App\Http\Controllers') ->group(base_path('routes/api.php'));
b. Verwenden Sie die Eigenschaft $namespace (optional):
// Set namespace property in RouteServiceProvider protected $namespace = 'App\Http\Controllers';
Durch Festlegen der Eigenschaft $namespace können Sie bequem URLs zu Aktionen generieren.
Upgrade von früheren Laravel-Versionen:
Wenn Sie ein Upgrade von einer früheren Laravel-Version durchführen, können Sie die Auskommentierung der Eigenschaft $namespace in aufheben RouteServiceProvider zum Wiederherstellen der automatischen Namespace-Präfixierung für Routen.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „Zielklasse nicht gefunden' in Laravel 8?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!