Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Membetulkan Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dalam Laravel 8?

Bagaimana untuk Membetulkan Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dalam Laravel 8?

Mary-Kate Olsen
Lepaskan: 2024-12-19 19:29:12
asal
380 orang telah melayarinya

How to Fix the

Membetulkan Ralat "Pengawal Kelas Sasaran Tidak Wujud" dalam Laravel 8

Apabila menggunakan Laravel 8, anda mungkin menghadapi ralat berikut: " Kelas sasaran [ApiRegisterController] tidak wujud." Ini berlaku disebabkan oleh perubahan dalam cara Laravel mengendalikan awalan ruang nama dalam kumpulan laluan.

Dalam Laravel 8, sifat $namespace dalam RouteServiceProvider, yang sebelum ini menambahkan awalan pada takrifan laluan pengawal, kini ditetapkan kepada nol oleh lalai. Ini bermakna nama kelas yang layak sepenuhnya mesti digunakan apabila merujuk kepada pengawal dalam laluan.

Untuk menyelesaikan isu ini, anda mempunyai beberapa pilihan:

Menggunakan Nama Kelas Berkelayakan Penuh:
Gunakan nama kelas yang layak sepenuhnya untuk pengawal anda dalam laluan anda. Contohnya:

Route::get('register', 'App\Http\Controllers\Api\RegisterController@register');
Salin selepas log masuk

Menentukan Awalan Ruang Nama dalam Kumpulan Laluan:
Jika anda lebih suka cara lama, anda boleh mentakrifkan awalan ruang nama untuk kumpulan laluan anda dalam RouteServiceProvider. Begini cara untuk melakukannya:

public function boot()
{
    ...

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

    ...
}
Salin selepas log masuk

Menetapkan $namespace Property:
Semasa menyahkomen sifat $namespace dalam RouteServiceProvider disebut dalam beberapa sumber, ia hanya mempengaruhi penjanaan URL untuk tindakan dan tidak menambah awalan ruang nama pada laluan oleh sendiri.

Kemas kini untuk Laravel 8.0.2 dan Kemudian:
Jika anda telah memasang salinan baharu Laravel 8 sejak versi 8.0.2, anda boleh menyahkomen ahli $namespace yang dilindungi pembolehubah dalam RouteServiceProvider untuk kembali kepada tingkah laku lama.

Ingat, kuncinya adalah untuk tentukan awalan ruang nama untuk kumpulan laluan anda dan bergantung pada keutamaan anda, anda boleh memilih mana-mana kaedah yang dinyatakan di atas untuk membetulkan ralat "Pengawal Kelas Sasaran Tidak Wujud" dalam Laravel 8.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Pengawal Kelas Sasaran Tidak Wujud' dalam Laravel 8?. 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