Symfony 8, maîtriser les fondamentaux et les fonctionnalités avancées
Objectifs de la formation
- Appréhender les concepts et l’architecture du framework
- Maîtriser les différents outils de développement lié à Symfony
- Développer une application Web complète avec Symfony
- Comprendre Doctrine et la liaison avec la base de données
- Approfondir les concepts avancés de Symfony
- Assimiler les bonnes pratiques du framework
- Utiliser Symfony dans un environnement sécurisé
Programme de la formation
Introduction
- Qu’est-ce que Symfony 8 et pourquoi l’utiliser ?
- L’évolution du framework
- L’écosystème des frameworks PHP
- Identifier et trouver des ressources sur Symfony
- Les concepts fondamentaux.
Mise en place de Symfony
- Installation de Symfony
- Symfony Flex
- Symfony Full Stack Framework
- Mettre en place la structure d’un projet Sympfony
- Les bases du concept MVC (Modèles, Vues, Contrôleurs)
- Configuration de votre framework Symfony (XML, YAML, PHP)
- Comprendre le déroulement d’une requête HTTP dans Symfony
- Concepts de base de Symfony
- Autoloader
- Services et injection de dépendance
- Le routing et la gestion des urls
Architecturer un projet Symfony 8
- Organisation d’un projet
- Gestion des dépendances (composer)
- Création des pages
La couche modèle avec Doctrine
- Présentation du concept d’ORM (Object Relational Mapping)
- Générer une base de données et les classes associées de la couche ORM
- Création de la base de données et d’une Entité
- Création – Read – Update – Delete
- Améliorer ses requêtes avec des critères
- Le Query Builder de Doctrine.
La couche vue avec Twig
- Présentation de la couche Vue
- Création de vos templates
- Les templates modulaires
- Héritage de template
- Les Blocks
- Syntaxe (variable, boucle et condition)
- Le layout global et les layouts des bundles
La couche contrôleur
- La gestion du routage des pages
- Gérer des paramètres
- Manipuler des objets Request et Response
Les formulaires avec Symfony
- Mettre en place des formulaires simples
- Définir des règles de validation de vos formulaires
- Découverte du FormBuilder : le fabricant de formulaires
- Les formulaires avec Twig
- Créer la page de création d’une annonce
- Afficher un formulaire Symfony
- Les fonctions d’affichage de formulaire
- Mise en forme du formulaire
- Les thèmes de formulaires
- Le thème de formulaire Bootstrap
Tests et qualité
- Présentation des tests unitaires
- Tests unitaires avec PHPUnit
- Présentation des tests fonctionnels
- Tests fonctionnels
- Opérations de mise en production
Injection de dépendance et registre de services
- Notions d’IoC : DependencyInjection Component
- Enregistrer de nouveaux services dans le conteneur de services
- Injection Container & Service Locator
- Étendre les fonctionnalités du framework avec les « tags »
Formulaires avancés
- Gestion de la CollectionType
- Ajouter un élément dynamiquement grâce au prototype
- Faire persister les éléments liés
- Supprimer un élément dynamiquement
- Valider les sous-formulaires
- Comprendre Twig : personnaliser l’affichage des formulaires
- Rendre le champ « slug » non obligatoire (option required)
- La validation de formulaire avec Symfony
- Utilisation des contraintes fournies par défaut par Symfony
- Création de contraintes personnalisées
- Utilisation d’EntityType Field
Maîtriser les composants Symfony
- Commande
- Réaliser sa propre commande
- Administrer les options
- Gérer les arguments
- Récupérer un service de l’application
- Process
- Config
- YML Dumper
- Finder
- Crawler et Filesystem
Gestion des événements Symfony
- Comprendre comment fonctionnent les évènements
- Créer ses propres évènements
Gestion des événements Symfony
- Comprendre comment fonctionnent les évènements
- Créer ses propres évènements
Utiliser Twig
- Concevoir une extension Twig
- Concevoir des fonctions
- Concevoir des filtres
- Comprendre la gestion des pages d’erreurs dans une application Symfony 8
- Créer une page d’erreur 404 personnalisée et la tester manuellement
- Créer une page d’erreur 403 personnalisée et la tester manuellement
- Faire attention au cache en environnement de production
Sécuriser ses pages Symfony
- Mettre en place une authentification par formulaire avec le composant « Guard »
- Mise à jour de la Fixture pour créer de faux utilisateurs
- L’encodage des mots de passe de nos utilisateurs
- Découverte de l’interface UserInterface
- Authentification :
- Déclarer un nouveau provider (entité User)
- Créer le formulaire de connexion
- Authentifier réellement l’utilisateur
- Permettre à l’utilisateur de se déconnecter
- Repérer les erreurs avec la classe AuthenticationUtils
- Créer le formulaire d’inscription : le RegistrationType
- 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 »
MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS
Modalités pédagogiques :
- Évaluation des besoins et du profil des participants.
- Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
- Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
- Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
- Méthodes expositive, active et participative.
- Réflexion et échanges sur cas pratiques.
- Retours d'expériences.
- Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.
Éléments matériels :
- Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
- Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.
Référent pédagogique et formateur :
- Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
- Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
- Feuilles de présences signées des participants et du formateur par demi-journée.
- Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Back to Symfony