Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Membetulkan Ralat 'Kelas Sasaran Tidak Ditemui' dalam Laravel 8?

Bagaimanakah Saya Membetulkan Ralat 'Kelas Sasaran Tidak Ditemui' dalam Laravel 8?

DDD
DDDasal
2024-12-25 16:57:27503semak imbas

How Do I Fix the

Mengatasi Ralat "Kelas Sasaran Tidak Ditemui" dalam Laravel 8

Menghadapi ralat "Pengawal kelas sasaran tidak wujud" apabila bekerja dengan Laravel 8 boleh mengecewakan. Isu ini timbul disebabkan oleh perubahan dalam konfigurasi lalai Laravel yang menghapuskan awalan automatik ruang nama.

Memahami Isu

Dalam versi Laravel sebelumnya, kumpulan laluan secara automatik menerima awalan ruang nama, tetapi tingkah laku ini telah dialih keluar dalam Laravel 8. Akibatnya, apabila merujuk kepada pengawal dalam laluan, Nama Kelas Berkelayakan Penuh (FQCN) mesti digunakan untuk memastikan penyelesaian yang betul.

Pilihan Penyelesaian

  1. Gunakan FQCN dalam Laluan:
// Register route using FQCN
Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
  1. Dayakan Awalan Ruang Nama:

a. Tambahkan Ruang Nama pada Kumpulan Laluan:

// Add namespace to 'api' route group
Route::prefix('api')
    ->middleware('api')
    ->namespace('App\Http\Controllers')
    ->group(base_path('routes/api.php'));

b. Gunakan Harta $namespace (Pilihan):

// Set namespace property in RouteServiceProvider
protected $namespace = 'App\Http\Controllers';

Dengan menetapkan sifat $namespace, anda boleh menjana URL kepada tindakan dengan mudah.

Meningkatkan daripada Versi Laravel Sebelumnya:

Jika anda sedang menaik taraf daripada versi Laravel sebelumnya, anda boleh menyahkomen harta $namespace dalam RouteServiceProvider untuk memulihkan awalan ruang nama automatik untuk laluan.

Nota Tambahan:

  • Adalah penting untuk menggunakan ruang nama hanya jika perlu, kerana mungkin bercanggah dengan kumpulan laluan lain.
  • Menggunakan FQCN disyorkan sebagai yang paling cekap dan penyelesaian yang tidak jelas.

Atas ialah kandungan terperinci Bagaimanakah Saya Membetulkan Ralat 'Kelas Sasaran Tidak Ditemui' dalam Laravel 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn