0% ont trouvé ce document utile (0 vote)
6 vues6 pages

Routes et contrôleurs dans Laravel 2024

Ce document présente un TP sur l'utilisation des routes, contrôleurs et modèles dans Laravel. Il couvre la création de routes simples, l'utilisation de contrôleurs pour organiser le code, l'interaction avec la base de données via des modèles, et la gestion des formulaires avec des routes POST. Le TP inclut également des exemples pratiques et des explications sur chaque concept abordé.

Transféré par

abdessamadad2005
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
6 vues6 pages

Routes et contrôleurs dans Laravel 2024

Ce document présente un TP sur l'utilisation des routes, contrôleurs et modèles dans Laravel. Il couvre la création de routes simples, l'utilisation de contrôleurs pour organiser le code, l'interaction avec la base de données via des modèles, et la gestion des formulaires avec des routes POST. Le TP inclut également des exemples pratiques et des explications sur chaque concept abordé.

Transféré par

abdessamadad2005
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ISTA Agadir Laravel 2024/2025

TP : Utilisation des routes avec les contrôleurs et les modèles dans Laravel

Objectifs :

 Comprendre les différents types de routes dans Laravel.


 Apprendre à utiliser des contrôleurs pour gérer les requêtes.
 Utiliser un modèle pour interagir avec la base de données.

1. Créer des routes simples

Théorie :

Une route dans Laravel relie une requête à un traitement spécifique. Les routes peuvent
renvoyer des vues, des données JSON, ou rediriger vers d’autres pages.

Question :

Créez une route simple qui retourne du texte dans le fichier routes/[Link].

Route::get('/hello', function () {
return 'Hello, world!';
});

Réponse :

Cette route est une route GET qui renvoie simplement "Hello, world!" lorsqu’on accède à
l’URL [Link]

Explication :

Dans cet exemple, la méthode GET est utilisée pour répondre à une requête en affichant du
texte. Cette méthode est couramment utilisée pour afficher des pages ou des informations
statiques.

2. Route avec paramètres dynamiques

Théorie :

Une route peut accepter des paramètres dynamiques qui sont passés à la fonction pour être
utilisés dans le traitement de la requête.

Question :

Créez une route qui prend un paramètre dynamique name et renvoie "Bonjour, {name}".

Route::get('/bonjour/{name}', function ($name) {

1
Mr. E. Adnan
ISTA Agadir Laravel 2024/2025

return "Bonjour, $name!";


});

Réponse :

Accéder à [Link] affichera "Bonjour, Jean!".

Explication :

Les accolades {} permettent de capturer des variables dynamiques dans l'URL, qui sont
ensuite accessibles comme paramètres de la fonction.

3. Utiliser un contrôleur pour organiser le code

Théorie :

Les contrôleurs permettent de mieux organiser le code en séparant la logique des routes. Ils
agissent comme intermédiaires entre les routes et les modèles.

Question :

Créez un contrôleur appelé WelcomeController et déplacez-y la logique de la route hello.

1. Créez le contrôleur :

php artisan make:controller WelcomeController

2. Dans le contrôleur [Link], ajoutez la méthode suivante :

public function sayHello()


{
return 'Hello, world!';
}

3. Modifiez la route pour utiliser ce contrôleur :

Route::get('/hello', [App\Http\Controllers\WelcomeController::class,
'sayHello']);

Réponse :

La logique de la route a été déplacée dans le contrôleur WelcomeController, et la route


utilise maintenant ce contrôleur pour retourner "Hello, world!".

Explication :

Les contrôleurs permettent de garder le fichier de routes propre en déléguant les traitements à
des classes dédiées.

2
Mr. E. Adnan
ISTA Agadir Laravel 2024/2025

4. Route avec paramètres dynamiques dans un contrôleur

Théorie :

Un contrôleur peut également accepter des paramètres dynamiques passés via une route.

Question :

Modifiez la route bonjour/{name} pour utiliser un contrôleur. Créez une méthode dans
WelcomeController qui accepte un paramètre name.

1. Ajoutez cette méthode au WelcomeController :

public function sayBonjour($name)


{
return "Bonjour, $name!";
}

2. Modifiez la route pour qu’elle utilise le contrôleur :

Route::get('/bonjour/{name}',
[App\Http\Controllers\WelcomeController::class, 'sayBonjour']);

Réponse :

La route /bonjour/{name} est maintenant gérée par le contrôleur, et elle affiche "Bonjour,
{name}" pour tout nom passé en paramètre.

5. Utiliser un modèle avec un contrôleur

Théorie :

Les modèles représentent les entités de la base de données et sont utilisés pour interagir avec
la base de données via Eloquent ORM.

Question :

Créez un modèle Post et une table associée via une migration, puis configurez un contrôleur
pour récupérer et afficher des articles depuis la base de données.

1. Créez un modèle avec sa migration :

php artisan make:model Post -m

2. Dans la migration create_posts_table.php, ajoutez les colonnes suivantes :

Schema::create('posts', function (Blueprint $table) {

3
Mr. E. Adnan
ISTA Agadir Laravel 2024/2025

$table->id();
$table->string('title');
$table->text('content');
$table->timestamps();
});

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

php artisan migrate

4. Ajoutez des données dans la base de données à l’aide de Tinker ou directement via un
seeder :

php artisan tinker


$post = new App\Models\Post;
$post->title = 'Premier article';
$post->content = 'Voici le contenu du premier article.';
$post->save();

5. Créez un contrôleur PostController :

php artisan make:controller PostController

6. Dans le contrôleur, ajoutez une méthode pour récupérer et afficher tous les articles :

public function index()


{
$posts = \App\Models\Post::all();
return view('[Link]', compact('posts'));
}

7. Créez une vue posts/[Link] :

@foreach ($posts as $post)


<h2>{{ $post->title }}</h2>
<p>{{ $post->content }}</p>
@endforeach

8. Modifiez la route pour qu’elle pointe vers le contrôleur :

Route::get('/posts', [App\Http\Controllers\PostController::class,
'index']);

Réponse :

La route /posts affiche tous les articles présents dans la base de données. La méthode index
du contrôleur utilise le modèle Post pour récupérer les données et les afficher dans une vue.

Explication :

Les modèles permettent d’interagir avec la base de données en utilisant des méthodes simples
comme all() pour récupérer toutes les entrées d’une table.

4
Mr. E. Adnan
ISTA Agadir Laravel 2024/2025

6. Route POST et formulaire

Théorie :

Les routes POST sont utilisées pour envoyer des données au serveur, souvent à partir d'un
formulaire.

Question :

Créez un formulaire pour ajouter un nouvel article et gérez l’envoi avec une route POST dans
un contrôleur.

1. Dans le contrôleur PostController, ajoutez la méthode suivante pour afficher le


formulaire :

public function create()


{
return view('[Link]');
}

2. Créez une vue posts/[Link] :

<form action="/posts" method="POST">


@csrf
<label for="title">Titre :</label>
<input type="text" name="title" id="title">
<label for="content">Contenu :</label>
<textarea name="content" id="content"></textarea>
<button type="submit">Ajouter l'article</button>
</form>

3. Ajoutez une méthode pour gérer la soumission du formulaire :

public function store(Request $request)


{
$post = new \App\Models\Post;
$post->title = $request->title;
$post->content = $request->content;
$post->save();

return redirect('/posts');
}

4. Modifiez les routes pour inclure la route GET et POST :

Route::get('/posts/create',
[App\Http\Controllers\PostController::class, 'create']);
Route::post('/posts', [App\Http\Controllers\PostController::class,
'store']);

Réponse :

Le formulaire permet d’ajouter un nouvel article dans la base de données. La route POST gère
l’envoi des données, et le contrôleur les enregistre.

5
Mr. E. Adnan
ISTA Agadir Laravel 2024/2025

Conclusion

Ce TP dirigé couvre :

 Les routes simples, avec et sans paramètres.


 L’utilisation des contrôleurs pour organiser la logique.
 L’utilisation d’un modèle pour interagir avec la base de données.
 La gestion des formulaires et des routes POST.

Ce TP peut être étendu avec des validations de formulaires, des mises à jour et des
suppressions d'articles pour une couverture plus complète.

6
Mr. E. Adnan

Vous aimerez peut-être aussi