Controllers

Controllers manage the logic and are stored in the app/Http/Controllers folder.

Basic Controller

The following command can be used to generate a simple (empty) controller:

php artisan make:controller ExampleController

Your newly created ExampleController will look as follows:

< ?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ExampleController extends Controller
{
// implement functions here
}

Resource Controller

If you want to generate all CRUD methods at once, use:

php artisan make:controller ExampleController --resource

This command will create a Resource Controller with the methods index, create, store, show, edit, update and destroy.

class ExampleController extends Controller
{
public function index() { ... }

public function create() { ... }

public function store(Request $request) { ... }

public function show(string $id) { ... }

public function edit(string $id) { ... }

public function update(Request $request, string $id) { ... }

public function destroy(string $id) { ... }
}

Route Overview for ExampleController:

Verb URI Action Method Name
GET /posts index posts.index
GET /posts/create create posts.create
POST /posts store posts.store
GET /posts/{post} show posts.show
GET /posts/{post}/edit edit posts.edit
PUT/PATCH /posts/{post} update posts.update
DELETE /posts/{post} destroy posts.destroy