Programming

Laravel 8 – Target class [Controller] does not exist

Target class [Controller] does not exist.

Biasanya jika membuat project baru Laravel 8, maka akan muncul error Target class [NamaClassController] does not exist. Kondisi ini wajar untuk laravel 8, karena pada laravel 8, tidak ada awalan namespace yang diterapkan ke grup rute tempat rute Anda dimuat.

Pada laravel 8, Anda harus menggunakan nama kelas utuh (Fully Qualified Class Name) untuk Controller Anda saat merujuknya di rute Anda saat tidak menggunakan awalan namespace. Berikut pembuatan route di file routes/web.php

use App\Http\Controllers\UserController;

Route::get('/users', [UserController::class, 'index']);
// or
Route::get('/users', 'App\Http\Controllers\UserController@index');

Mungkin yang sebelumnya sudah mencoba tutorial membuat repository pattern di laravel 8, pernah mengalami error ini.

Jika Anda ingin menggunakan cara pemanggilan route seperti Laravel versi sebelum (yang mana memang lebih simple dalam penulisannya), Anda cukup aktifkan line 29 di file app/Providers/RouteServiceProvider.php

// protected $namespace = 'App\\Http\\Controllers';

Silahkan refresh lagi browsernya, selamat mencoba.

Untuk dapat melihat caranya, silahkan lihat video ini : https://youtu.be/N6pMaJux2q8

Hi, I’m Javaziez

Leave a Reply

Your email address will not be published. Required fields are marked *