Objectifs pédagogiques
- Approfondir et maîtriser les concepts avancés de Symfony
- Assimiler les bonnes pratiques du framework
- Comprendre les mécanismes inhérents de l’outil
- Utiliser Symfony dans un environnement sécurisé
Public concerné
Chefs de projet Web, Architectes techniques, Développeurs
Prérequis
- Maîtrise de PHP 7
- Maîtrise de la programmation orientée objet (POO)
- Maîtrise de HTML et CSS
- Avoir des connaissances sur Symfony 5 ou idéalement avoir suivi notre formation Symfony
Programme de la formation
PRÉSENTATION DES NOUVEAUTÉS
- Évolutions, Différences & Changements
- Présentation des nouvelles fonctionnalités apparues sur Symfony 4, 5, 5.1 et 6
INJECTION DE DÉPENDANCE & 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 »
- Custom service 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
RELATION AVEC LA BASE DE DONNÉES
- Rendre nos fausses données plus réalistes avec Faker
- Créer des slugs facilement avec String Component (alternative de Slugify ou StofDoctrineExtensionsBundle)
- Graphique sur les événements du cycle de vie d’une entité
- Doctrine
- Interagir avec le cycle de vie des Entités
- Les relations entre Entités :
- OneToMany
- ManyToOne
GESTION DES EVENEMENTS 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 6
- 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éclare 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 »
MODULE COMPLÉMENTAIRE : DÉPLOIEMENT DES APPLICATIONS EN PRODUCTION (+1 JOUR UNIQUEMENT SUR DEMANDE EN INTRAENTREPRISE)
- Création d’un dépôt Git et premier « push » de code
- Découverte du fichier. gitignore et des fichiers ignorés
- Hébergement Mutualisé : introduction
- Générer le fichier .htaccess avec le pack symfony/apache-pack
Hébergement Mutualisé
- Mise en ligne avec accès SSH
- Mise en ligne sans SSH
- Faire des mises à jour sans SSH
- Faire des mises à jour avec SSH
Déploiement Cloud : Symfony Cloud (alternative d’Heroku)
- Mise en place de l’application
- Déploiement depuis son environnement local
- Mise en place de la base de données et mises à jour
Projet final
Dans cette formation vous approfondirez vos connaissances sur Symfony 6 en utilisant les composants Symfony dans leurs intégralités la création extension Twig vous permettra d’avoir une page personnalisée unique de plus la gestion des erreurs et de débogage vous sera enseigné afin que votre site soit optimal. Enfin vous pourrez déployer vos applications sur un serveur Cloud tout en utilisant les méthodes de sécurité adéquates.
Comme dans toutes nos formations, nous utiliserons la dernière version stable du logiciel Symfony 6.3.
Nous couvrirons les cours suivants: