Découverte de Laravel
Last updated
Was this helpful?
Last updated
Was this helpful?
Comprendre les appels dans le router web.php
Créer une 1ere vue et l'appeler
Créer un controller et l'utiliser
Créer un modèle et l'utiliser
NOTES
Fichier routes/web.php (pour les routes appelées depuis un navigateur, api.php pour les routes de l'API)
Attention, l'ordre dans ce fichier est important ! Les routes sont analysées dans l'ordre et la 1ere trouvée est la 1ere exécutée
Appel d'une route : http://localhost:8000/ticketToRide/leNomDeMaRoute ou http://localhost:8000/ticketToRide/ pour accéder à la route '/'
TODO
Trouver l'appel à la vue par défaut de Laravel, le commenter et remplacer par l'affichage d'un « Hello world » de 2 façons différentes
Options des routes
Créer une route GET qui prend 2 paramètres (prénom et nom) et qui les affiche
Ajouter des contraintes avec des expressions régulières : créer une route GET qui prend 1 paramètre "title" constitué uniquement de lettres et qui l'affiche
Créer une route GET qui affiche le texte "Liste des joueurs" et la nommer "listeJoueurs"
Créer une route qui retourne le code HTML suivant :
Est-ce une bonne façon de faire ? Pourquoi ?
NOTES
Blade : moteur de template, permet de créer des pages HTML à partir de simple instructions PHP
Syntaxe simplifiée :
<?php echo $numero ?>
est remplacé par {{ $numero }}
Les structures de contrôle permettent de ne pas repasser en php: @if, @elseif, @endif, … (https://walkerspider.com/cours/laravel/blade)
Extension d’une vue par une autre : @extends('template.blade.php')
Définir une section du template que pourront utiliser les vues enfants : @yield('nomDuContenu')
Définir le contenu d'une section du template : @section('nomDuContenu')
TODO
Intégrer le thème boostrap créé lors des premiers TP (les répertoires assets, css et js) dans le répertoire ressources
.
Créer le template de base de vos vues template.blade.php
. Ce template intègrera votre thème (en-tête et pied de page) et une section content
.
Créer la vue listeParties.blade.php
qui étend le template et qui ajoute le texte de votre choix dans la section content
.
NOTES Les controlleurs appellent le code "intelligent" des modèles pour ensuite l'envoyer à la vue. Le retour de la vue est renvoyé au navigateur.
TODO
Créer un contrôleur :
Afficher ces paramètres. Indice 5
NOTES
Les modèles contiennent les algorithmes, l'intelligence du site. Ils peuvent être branchés à des tables de base de données et faciliter leur utilisation.
Les migrations permettent de créer et mettre à jour la structure des tables.
Les seeders permettent de remplir les tables (ajout de données).
Les factories permettent de créer des enregistrements en quantité et d'établir facilement diverses relations entre les tables
TODO
Dans phpMyAdmin (connexion en root/root), créer la base de données ticket_to_ride
de type utf8_general_ci
Partie 1 : la migration
Télécharger le fichier 2021_10_27_073728_create_partie_table et le déposer dans le répertoire database/migrations de votre projet Laravel
Analyser les méthodes up (création) et down (suppression)
Dans le Terminal, exécuter cette ligne pour créer la table partie
Attention, l'ordre d'exécution des migrations est importante (au niveau des clefs étrangères et des contraintes d'intégration).
Partie 2 : l'alimentation
Télécharger le fichier PartieSeeder.php et le déposer dans le répertoire database/seeders
Analyser la méthode run. Question : combien de partie le seeder va t'il créer ? Réponse 7
Dans le Terminal, exécuter cette ligne pour alimenter la table partie
Vous avez aussi la possibilité d'ajouter l'appel au PartieSeeder dans la méthode run() de DatabaseSeeder.php et d'exécuter tous les seeders par la commande :
L'alimentation en quantité : dans le seeder, remplacer l'étape 1 par l'étape 2.
Télécharger le fichier PartieFactory.php et le déposer dans le répertoire database/factories
Vider la table partie
et exécuter le seeder.
Partie 3 : le modèle
Créer le modèle partie
(il est aussi possible de générer le modèle et le controller associé).
Préciser la connexion à utiliser, la table reliée à ce modèle, la clef primaire ainsi que les autres paramètres
Afficher toutes les parties de la table. (site officiel Eloquent, aide FR Eloquent, tuto vidéo)
Question Savez-vous ce qu'est l'auto-incrément des clefs primaires ? Réponse 8
A vous
Créer la migration pour joueur. Un joueur est identifié par son ID
, il a un pseudo
, un email
, un mot de passe
et un path
(chemin vers l'avatar du joueur). Attention aux types et taille de chaque champs. Indice 9
Remplir la table joueur
(une cinquantaine) grâce à un seeder ou une factory
Afficher tous les joueurs grâce à un tableau (on verra les datatables plus tard). Bien découper Route/Controller/Modèle/Vue.
Installer Barryvdh - Laravel Debugbar
Dans le navigateur, une barre apparaît en bas de la fenêtre.