Objectifs
Maîtriser quelques-uns des sujets clés et outils du framework Symfony 5.
Concevoir et valider des formulaires dynamiques ainsi que produire vos propres règles de validation personnalisées.
Maîtriser les mécanismes de configuration d'une application grâce au registre de services et principe d'injection des dépendances.
Maîtriser les concepts clés du framework de persistance Doctrine, les mécanismes de sécurité tels que l'authentification et les droits d'accès, ainsi que les tests automatisés et l'optimisation des performances avec le cache HTTP.
Prérequis
Avoir une bonne connaissance de PHP et de la programmation orientée objet.
Contenu du programme
Injection de dépendance et registre de services :
- Comprendre le principe de l'injection de dépendance
- Introduction au conteneur de services de Symfony
- Lister les services existants du framework Symfony
- Enregistrer de nouveaux services dans le conteneur
- Récupérer un service depuis le conteneur
- Créer et lire des paramètres de configuration globaux
- Comprendre le principe de services "privés"
Contracter une assurance qualité avec les tests automatisés :
- Découvrir le framework de tests PHPUnit
- Comprendre les enjeux des tests automatisés (unitaires et fonctionnels)
- Configurer une suite de tests automatisés
- Créer et exécuter une suite de tests unitaires
- Ecrire et exécuter une suite de tests fonctionnels
- Générer des rapports de couverture de code
Améliorer les performances de l'application avec le cache HTTP et le ESI :
- Introduction au cache HTTP
- Découvrir les différents types de cache
- Comparer les stratégies de cache : expiration versus validation
- Appliquer les règles d'expiration et de validation des pages
- Cacher des fragments dynamiques de page avec les ESIs ("Edge Side Includes")
- Installer et configurer le proxy inversé natif de Symfony
Interagir avec l'utilisateur grâce aux formulaires :
- Concevoir et traiter des formulaires Web
- Automatiser le rendu des formulaires avec les aides de vue Twig
- Personnaliser le rendu des formulaires avec les thèmes de rendu Twig
- Configurer les types de formulaires
- Appliquer des règles de validation standard sur les données soumises
- Appliquer des règles de validation personnalisées sur les données soumises
- Contextualiser le déclenchement des règles de validation avec les groupes de validation
Restreindre l'accès aux espaces sécurisés de l'application :
- Introduction aux principes d'authentification et d'autorisation
- Sécuriser certaines parties d'un site avec une authentification par formulaire Web
- Mettre en place le composant Guard pour gérer une authentification par formulaire Web
- Etablir une politique de droits d'accès selon les rôles de l'utilisateur courant
- Tester les droits de l'utilisateur courant depuis un contrôleur ou une vue
- Enregistrer des règles d'autorisation personnalisées avec le système de "voteurs"
Interagir avec une base de données relationnelle :
- Découvrir l'ORM Doctrine
- Comprendre les notions d'entités, dépôts ("repository") et de gestionnaire d'entités
- Automatiser la génération de classes d'entités associées au modèle relationnel SQL
- Persister des données dans une base de données avec Doctrine
- Récupérer les données d'une base de données avec Doctrine
- Construire et exécuter des requêtes SQL personnalisées depuis les dépôts