Rumah > pembangunan bahagian belakang > tutorial php > Laravel 8: Mengapa Saya Mendapat Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dan Bagaimana Saya Boleh Membetulkannya?

Laravel 8: Mengapa Saya Mendapat Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Lepaskan: 2024-12-29 02:42:10
asal
206 orang telah melayarinya

Laravel 8: Why Am I Getting a

Laravel 8: Mengendalikan Ralat "Pengawal Kelas Sasaran Tidak Wujud"

Apabila menggunakan Laravel 8, anda mungkin menghadapi ralat "Kelas sasaran [kelas pengawal] tidak wujud" semasa cuba mengakses pengawal tertentu. Ralat ini berpunca daripada pengenalan gelagat penghalaan baharu dalam Laravel 8.

Memahami Perubahan

Dalam versi Laravel sebelumnya, kumpulan laluan mempunyai awalan ruang nama automatik yang digunakan pada pengawalnya. Walau bagaimanapun, dalam Laravel 8, tingkah laku ini telah dialih keluar secara lalai. Ini bermakna pengawal mesti dirujuk menggunakan nama kelas mereka yang layak sepenuhnya (termasuk ruang nama) dalam laluan anda.

Membetulkan Ralat

Untuk menyelesaikan ralat ini, anda mempunyai beberapa pilihan:

  1. Gunakan Nama Kelas Berkelayakan Penuh: Rujuk kepada pengawal menggunakan nama kelas lengkap mereka, termasuk ruang nama. Contohnya:

    Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
    Salin selepas log masuk
  2. Tambah Awalan Ruang Nama pada Laluan: Tambah awalan ruang nama pada kumpulan laluan anda secara manual. Dalam RouteServiceProvider anda, tambahkan yang berikut:

    Route::prefix('api')
        ->middleware('api')
        ->namespace('App\Http\Controllers')
        ->group(base_path('routes/api.php'));
    Salin selepas log masuk
  3. Nyahkomen $namespace Property (Laravel 8.0.2 ): Jika anda telah memasang Laravel 8 sejak versi 8.0.2, anda boleh membatalkan ulasan harta $namespace yang dilindungi dalam RouteServiceProvider. Ini akan memulihkan kelakuan lalai menggunakan awalan ruang nama.

Kesimpulan

Dengan melaraskan sintaks penghalaan anda mengikut tingkah laku baharu dalam Laravel 8, anda boleh menghapuskan "Pengawal kelas sasaran tidak wujud" ralat. Gunakan pendekatan yang paling sesuai dengan keperluan projek anda dan ingat untuk merujuk kepada dokumentasi Laravel rasmi untuk mendapatkan maklumat yang lebih terperinci.

Atas ialah kandungan terperinci Laravel 8: Mengapa Saya Mendapat Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan