Let’s learn how to migrate from route closures to dedicated controllers

create new controller:

php artisan make:controller ProjectsController

inside route/web.php add this line:

Route::get('/projects', 'ProjectsController@index');

inside html/controller:

class ProjectsController extends Controller{    
public function index() {         
view('projects.index');    }} 

inside resources/views:

directory projects (like example) add file index.blade.php

Advance Controller

*create controller with all Route Resource automatically

php artisan make:controller postcontroller -r

*create controller & module automatically:

php artisan make:controller PostController -r -m Post

 A App\Post model does not exist. Do you want to generate it? (yes/no) [yes]:
 > yes

Model created successfully.
Controller created successfully.