Concept Model View Controller
- Rappel syntaxique : UML, Classes, Héritage, Abstraction, Interfaces et Traits.
- Pertinence et mise en œuvre de différents Motifs de Conception (Design Patterns).
- Implémentation PHP d'une architecture 3-tiers type MVC complète.
- Approche Laravel 10. Présentation générale de la cinématique MVC.
Les concepts de base
- Architecture et configuration de Laravel : vue d'ensemble.
- Installation complète et organisation de PHP Laravel (Composer et Setup).
- Gestion du routage de base et acheminement vers le contrôleur.
- Construire des réponses personnalisées.
Travaux pratiques
Installation et paramétrage de Laravel 5.x. Création d'une première application.
Découverte des points forts du MVC
- Les requêtes HTTP (Middleware vs filtres).
- Le conteneur de services et façades.
- L'approche des Contrôleurs.
- Les services Web (REST) avec Laravel.
- Templates : création, structure de contrôle et héritage.
Travaux pratiques
Création des vues et utilisation des templates pour l'application.
Paramétrage avancé
- Routage avancé : routes nommées, sécurisées et contraintes de paramètres.
- Génération d'URL : assets et raccourcis.
- Données HTTP : entrées, uploads et cookies.
- Formulaires : champs, boutons, macros et sécurité.
- Validation : règles et gestion des erreurs.
Travaux pratiques
Création de formulaires avec génération d'URL. Ajout de pages à l'application Web.
Travailler avec la base de données
- Abstraction : configuration et préparation.
- Le concepteur graphique de schéma : "Schema Designer".
- Création de Migrations et Rollback.
- Travailler efficacement avec l'ORM Eloquent.
- Génération des requêtes avec Eloquent.
- Les relations entre modèles.
Travaux pratiques
Mise en place de la couche modèle de l'application Web à l'aide de l'ORM.
L'authentification dans Laravel
- Gestion des mots de passe et DSS.
- Les différents modes.
Travaux pratiques
Mise en œuvre de l'authentification pour l'application.
Présentation globale de l'écosystème de Laravel
- Laravel Dusk pour les Tests.
- Laravel Forge pour le déploiement.
- Laravel Echo pour communication asynchrone.
- Laravel telescope pour le débogage.