Cours de Laravel
Laravel est un framework PHP reconnu pour le développement d'applications web grâce à sa
simplicité et sa richesse fonctionnelle. Voici une introduction aux concepts de base de
Laravel.
1. Présentation de Laravel
Laravel est un framework basé sur le modèle MVC (Modèle-Vue-Contrôleur) qui permet de
construire des applications web robustes et maintenables. Il propose des fonctionnalités
intégrées comme l'authentification, la gestion des sessions, et le routage, entre autres.
2. Installation de Laravel
Pour installer Laravel, assurez-vous d'avoir Composer sur votre machine. Utilisez ensuite la
commande suivante pour installer Laravel globalement :
bash
Copier le code
composer global require laravel/installer
Pour créer un nouveau projet, utilisez :
bash
Copier le code
laravel new nom_du_projet
ou
bash
Copier le code
composer create-project --prefer-dist laravel/laravel nom_du_projet
3. Structure d'un projet Laravel
app/ : Contient le code de l'application (contrôleurs, modèles, middleware, etc.).
bootstrap/ : Contient l'initialisation de l'application.
config/ : Fichiers de configuration.
database/ : Migrations, seeds, et modèles de base de données.
public/ : Point d'entrée de l'application (index.php) et ressources publiques.
resources/ : Vues, fichiers de langue, et assets.
routes/ : Définitions des routes.
storage/ : Logs, sessions, caches, et fichiers générés.
tests/ : Tests unitaires et fonctionnels.
vendor/ : Dépendances du projet.
4. Les routes
Les routes définissent le comportement des requêtes HTTP. Elles sont définies dans routes/.
Exemple :
php
Copier le code
Route::get('/bonjour', function () {
return 'Bonjour tout le monde!';
});
5. Les contrôleurs
Les contrôleurs contiennent la logique des requêtes. Ils sont créés dans
app/Http/Controllers/.
Créer un contrôleur avec Artisan :
bash
Copier le code
php artisan make:controller NomDuControleur
Exemple :
php
Copier le code
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BonjourController extends Controller
{
public function saluer()
{
return 'Bonjour!';
}
}
6. Les modèles et les bases de données
Les modèles représentent les données et utilisent Eloquent pour l'interaction avec la base de
données.
Créer un modèle :
bash
Copier le code
php artisan make:model NomDuModel
Exemple :
php
Copier le code
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Utilisateur extends Model
{
// Code du modèle
}
7. Les migrations
Les migrations sont des scripts pour gérer les modifications de la base de données. Elles se
trouvent dans database/migrations/.
Créer une migration :
bash
Copier le code
php artisan make:migration create_utilisateurs_table
Exemple :
php
Copier le code
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUtilisateursTable extends Migration
{
public function up()
{
Schema::create('utilisateurs', function (Blueprint $table) {
$table->id();
$table->string('nom');
$table->string('email')->unique();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('utilisateurs');
}
}
8. Les vues
Les vues affichent les données à l'utilisateur. Laravel utilise Blade pour les templates, situé
dans resources/views/.
Exemple :
blade
Copier le code
<!-- resources/views/bonjour.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>Bonjour</title>
</head>
<body>
<h1>Bonjour, {{ $nom }}!</h1>
</body>
</html>
9. Les middlewares
Les middlewares filtrent les requêtes HTTP. Ils peuvent être utilisés pour vérifier
l'authentification, les permissions, etc.
Créer un middleware :
bash
Copier le code
php artisan make:middleware NomDuMiddleware
Exemple :
php
Copier le code
namespace App\Http\Middleware;
use Closure;
class CheckAge
{
public function handle($request, Closure $next)
{
if ($request->age <= 200) {
return redirect('home');
}
return $next($request);
}
}