Laravel

Contrôleurs

Créer un contrôleur "PageController"

php artisan make:controller PageController

PageController.php avec une méthode index qui charge la vue welcome

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PageController extends Controller
{
    public function index()
    {
        return view('welcome');
    }
}

Route correspondante dans /routes/web.php

  // Ajout de la class PageContoller pour pouvoir l'utiliser
  use App\Http\Controllers\PageController;

...

  Route::get('/', [PageController::class, 'index']);

Passer des paramètres à la vue

Route:

Route::get('user/{id}', [PageController::class, 'user']);

Méthode dans le contrôleur:

<?php
public function user($id)
{
    return view('user', compact('id'));
}

Contrôleur ressource

Pour créer automatiquement les méthodes qui concernent le CRUD dans le contrôleur

php artisan make:controller PhotoController --resource

Dans le fichier de route (web.php)

use App\Http\Controllers\PhotoController;

...

Route::resource('photos', PhotoController::class);