Rumah > pembangunan bahagian belakang > tutorial php > Laravel 8 'Pengawal Kelas Sasaran Tidak Wujud': Bagaimana untuk Membetulkan Isu Ruang Nama dalam Laluan?

Laravel 8 'Pengawal Kelas Sasaran Tidak Wujud': Bagaimana untuk Membetulkan Isu Ruang Nama dalam Laluan?

Patricia Arquette
Lepaskan: 2024-12-29 06:20:09
asal
427 orang telah melayarinya

Laravel 8

Ralat "Pengawal Kelas Sasaran Tidak Wujud" semasa Menggunakan Laravel 8

Isu

Apabila menggunakan pengawal dalam Laravel 8, anda mungkin menghadapi masalah Mesej "Ralat "Pengawal kelas sasaran tidak wujud"" walaupun pengawal hadir dan berada dengan betul.

Penjelasan

Dalam Laravel 8, ruang nama tidak lagi didahulukan secara automatik untuk menghalakan kumpulan. Oleh itu, anda mesti menggunakan nama kelas yang layak sepenuhnya untuk pengawal anda apabila mentakrifkan laluan tanpa awalan ruang nama.

Penyelesaian

Pilihan 1: Nama Kelas Berkelayakan Penuh

Gunakan nama kelas yang layak sepenuhnya untuk pengawal anda dalam laluan definisi:

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

Pilihan 2: Tentukan Ruang Nama dalam Kumpulan Laluan

Jika anda lebih suka pendekatan sebelumnya, tentukan ruang nama secara eksplisit dalam kumpulan laluan yang berkaitan dalam AppProvidersRouteServiceProvider:

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

Pilihan 3: Nyahkomen Ruang Nama dalam RouteServiceProvider (Laravel 8.0.2 dan Lebih Tinggi)

Dalam pemasangan Laravel 8 baharu sejak versi 8.0.2, anda boleh menyahkomen pembolehubah $namespace yang dilindungi dalam AppProvidersRouteServiceProvider:

// protected $namespace = 'App\Http\Controllers';
Salin selepas log masuk
    Pastikan pengawal anda memanjangkan kelas Pengawal.
  • Sahkan bahawa definisi laluan anda dalam api.php adalah betul.
  • Semak sama ada anda mempunyai sebarang perisian tengah yang digunakan ke laluan anda yang mungkin menyebabkan isu.
Dengan melaksanakan salah satu daripada penyelesaian ini, anda boleh menyelesaikan Ralat "Pengawal kelas sasaran tidak wujud" dan berjaya menggunakan pengawal anda dalam Laravel 8.

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