Laravel 8 routes and controller API syntax change

Copy-pasting routes and controller code from pre-Laravel 8 to a Laravel 8 website? You're in for a treat.

And by "treat" I meant an error 😬. Target class controller does not exist error, to be precise. It's because Laravel 8 changed their controller namespace API.

(whyyy? 😭)

(welp yeah I'm sure there are valid reasons, but still... 😫)

TL;DR pre-Laravel 8:

// routes/web.php — before v8
 
use Illuminate\Support\Facades\Route;
 
Route::get("examples", "ExampleController@index");

Laravel 8:

// routes/web.php — v8
 
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ExampleController;
 
Route::get("examples", [ExampleController::class, 'index']);

It can be customized to behave like the old versions if you so prefer (see links below).


Resources:

In: Laravel MOC

Links to this note

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.