1. Accueil
  2. /
  3. Docs
  4. /
  5. PHP
  6. /
  7. Les base de PHP
  8. /
  9. Introduction au Framework...

Introduction au Framework Laravel 11

Laravel est un framework PHP open-source puissant et populaire, conçu pour le développement d’applications web avec une syntaxe élégante et expressive. Laravel vise à simplifier les tâches courantes du développement web, telles que l’authentification, la gestion de sessions, la mise en cache et les routages.

1. Installation de Laravel

Pour commencer avec Laravel, vous devez avoir PHP et Composer installés sur votre machine.

Étapes d’installation :

  1. Installer Composer : Si ce n’est pas déjà fait, installez Composer, le gestionnaire de dépendances PHP, depuis getcomposer.org.
  2. Créer un nouveau projet Laravel :Ouvrez votre terminal et exécutez la commande suivante pour créer un nouveau projet Laravel :
Bash
composer create-project --prefer-dist laravel/laravel nom-du-projet "11.*"
  1. Naviguer dans le répertoire du projet :
Bash
cd nom-du-projet
  1. Démarrer le serveur de développement :

Laravel inclut un serveur de développement intégré. Pour démarrer ce serveur, exécutez :

Bash
php artisan serve

Vous pouvez maintenant accéder à votre nouvelle application Laravel en ouvrant votre navigateur et en visitant http://localhost:8000.

2. Structure du Répertoire

La structure du répertoire d’un projet Laravel est organisée de manière à faciliter le développement et la maintenance.

  • app/ : Contient le cœur de l’application, y compris les modèles, les contrôleurs et les services.
  • bootstrap/ : Contient le fichier app.php qui initialise le framework.
  • config/ : Contient tous les fichiers de configuration.
  • database/ : Contient les migrations, les seeds et les fichiers de base de données.
  • public/ : Contient le fichier index.php qui est le point d’entrée de toutes les requêtes vers votre application.
  • resources/ : Contient les vues, les fichiers de langue et les assets non compilés.
  • routes/ : Contient les fichiers de routes (web.php, api.php, etc.).
  • storage/ : Contient les logs, les fichiers générés et les caches.
  • tests/ : Contient les tests unitaires et fonctionnels.
  • vendor/ : Contient les dépendances gérées par Composer.

3. Routage

Les routes définissent la façon dont les requêtes URL sont gérées par votre application.

Exemple de route simple

Ouvrez le fichier routes/web.php et ajoutez une route :

PHP
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Cette route renvoie la vue welcome lorsque l’URL racine est visitée.

Route avec contrôleur

PHP
Route::get('/utilisateurs', [UserController::class, 'index']);

4. Contrôleurs

Les contrôleurs regroupent la logique de gestion des requêtes HTTP.

Création d’un contrôleur

Vous pouvez créer un contrôleur en utilisant l’outil de ligne de commande Artisan :

Bash
php artisan make:controller UserController

Cela créera un fichier UserController.php dans le répertoire app/Http/Controllers.

Exemple de méthode dans un contrôleur

PHP
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        return view('utilisateurs.index');
    }
}

5. Vues

Les vues sont des templates qui affichent les données aux utilisateurs. Laravel utilise Blade comme moteur de templates.

Exemple de vue Blade

Créez un fichier index.blade.php dans le répertoire resources/views/utilisateurs/ :

blade
Blade
<!DOCTYPE html>
<html>
<head>
    <title>Liste des utilisateurs</title>
</head>
<body>
    <h1>Liste des utilisateurs</h1>
    <!-- Contenu de la page -->
</body>
</html>

6. Modèles et Migrations

Les modèles représentent les tables de votre base de données. Les migrations permettent de gérer les versions des schémas de base de données.

Création d’un modèle et d’une migration

Bash
php artisan make:model User -m

Cela créera un modèle User et une migration pour créer la table users.

Exemple de migration

Ouvrez le fichier de migration dans le répertoire database/migrations :

PHP
public function up()
{
    Schema::create('users', function (Blueprint $table) {
        $table->id();
        $table->string('name');
        $table->string('email')->unique();
        $table->timestamps();
    });
}

Exécutez la migration pour créer la table :

Bash
php artisan migrate

7. Eloquent ORM

Eloquent est l’ORM (Object-Relational Mapper) de Laravel, qui permet de travailler avec la base de données de manière expressive.

Exemple d’utilisation d’Eloquent

PHP
namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use HasFactory;

    protected $fillable = ['name', 'email'];
}

Récupérer des données

PHP
use App\Models\User;

$users = User::all();

8. Formulaires et Validation

Laravel facilite la création de formulaires et la validation des données.

Exemple de formulaire

Créez une vue create.blade.php :

Blade
<form action="/utilisateurs" method="POST">
    @csrf
    <label for="name">Nom :</label>
    <input type="text" id="name" name="name">
    
    <label for="email">Email :</label>
    <input type="email" id="email" name="email">
    
    <button type="submit">Créer</button>
</form>

Validation des données

Dans votre contrôleur, vous pouvez valider les données de la requête :

PHP
public function store(Request $request)
{
    $validated = $request->validate([
        'name' => 'required|max:255',
        'email' => 'required|email|unique:users',
    ]);

    User::create($validated);

    return redirect('/utilisateurs');
}

9. Authentification

Laravel propose un système d’authentification complet prêt à l’emploi.

Installer l’authentification

Bash
composer require laravel/ui
php artisan ui vue --auth
npm install && npm run dev
php artisan migrate

Cela génère les routes, contrôleurs et vues nécessaires pour l’authentification.

10. Conclusion

Laravel est un framework puissant et flexible qui facilite le développement d’applications web robustes. En utilisant Laravel, vous bénéficiez d’un écosystème riche avec des outils et des fonctionnalités qui accélèrent le développement tout en maintenant une structure propre et organisée. Pour aller plus loin, explorez la documentation officielle de Laravel et expérimentez avec les différentes fonctionnalités pour approfondir vos compétences.

Still stuck? Contact

Comment pouvons-nous aider ?

Poster le commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *