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/leNomDeMaRoute ou http://localhost:8000/ 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 utilisateurs" et la nommer "listeUtilisateurs"
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
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 accueil.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 adolices
de type utf8_general_ci
Partie 1 : la migration
Télécharger le fichier 2024_03_11_073728_create_boutique_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 boutique
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 BoutiqueSeeder.php et le déposer dans le répertoire database/seeders
Analyser la méthode run. Question : combien de boutique le seeder va t'il créer ? Réponse 7
Dans le Terminal, exécuter cette ligne pour alimenter la table boutique
Vous avez aussi la possibilité d'ajouter l'appel au BoutiqueSeeder 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 BoutiqueFactory.php et le déposer dans le répertoire database/factories
Vider la table boutique
et exécuter le seeder.
Partie 3 : le modèle
Créer le modèle boutique
(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 boutiques 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 utilisateur. Un utilisateur est identifié par son ID
, il a un nom
, un prenom
, un email
, un mot de passe
. Attention aux types et taille de chaque champs. Indice 9
Remplir la table utilisateur
(une cinquantaine) grâce à un seeder ou une factory
Afficher tous les utilisateurs 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.