Approfondir Symfony
Informations pratiques
- 2 jours
- En présentiel
- Téléchargez le livret d'accueil
Besoin de plus d'informations ?
Objectifs pédagogiques
Grâce à cette formation, vous serez en mesure de gagner en productivité avec Symfony. Vous ferez un tour d’horizon de l’ensemble de ses fonctionnalités et maîtriserez, à l’issue de cette séance, des outils et concepts plus avancés tels que l’injection de dépendances, le cache, la sécurité et les tests.
Pré-requis
- Bonnes connaissances de PHP et des fondamentaux de Symfony
- Connaissance des design patterns
- Ordinateur portable à apporter
Programme
Manipuler des services avec Symfony
- Qu’est-ce qu’un service ?
- Le principe et rappels SOLID
- Historique et fonctionnement du container
- Les services existants
- Déboguer le container en ligne de commande
- Utiliser l’injection de dépendance
Symfony et la sécurité
- Gérer et authentifier un utilisateur
- Sécuriser toute ou partie de son application
- Rôles et hiérarchies
- Des voters pour les rôles et des voters personnalisés
- Appliquer une stratégie de vote
Symfony et les performances
- PHP et les performances
- Configurer son application
- Le cache applicatif
- Le cache HTTP et les ESI
- Les reverse-proxy
- L’invalidation de cache
- Problématiques mobiles, éco-conception, performances & under/over fetching
Symfony et la soumission de données
- Recevoir des données en POST
- Valider les données manuellement
- Utiliser un validateur
- Créer un validateur
- Combiner des validateurs
- Utiliser des validateurs différents selon le contexte
- La validation à travers un formulaire
- Créer un formulaire simple
- Créer un formulaire ré-utilisable
- Créer des formulaires imbriqués
- Maîtriser la transformation des données de PHP vers HTML et HTML vers PHP
Les bonnes pratiques
- Formats de configuration
- Configuration du kernel, de index.php et de bootstrap.php
- Le MVP, les Coding Styles, les outils d’analyse statique
- Le SOLID, la loi de Demeter, KISS et autres acronymes
- Tester son code
- Gagner du temps avec MakerBundle
Initiation à Doctrine
- Doctrine ORM
- Le pattern Data Mapper
- Le pattern Unit of Work
- Le jargon Doctrine
- Configurer l’accès à la BDD
- Créer la BDD
- “Mapper” une entité
- Créer une entité à l’aide du générateur
- Créer les tables
- Persister des entités
- Récupérer des entités
- Plus de méthodes du repository
- Utiliser un repository maison
- Effectuer des requêtes sur mesure
- Exemple d’utilisation
Tests unitaires
- Les bons outils
- Tester une classe unitairement
Tests d’intégration
- Les bon outils
- Tester un comportement
Tests E2E
- Les bons outils
- Tester votre application de bout en bout
Les “tips and tricks” des Tilleuls
Financement
Organisme de formation référencé Qualiopi (cliquez sur le lien), nos formations sont éligibles aux financements de vos OPCO dans la catégorie OF (Organisme de Formation)
Nos formateurs
Partez à la découverte de notre équipe !
Kévin DUNGLAS
CEO
Kévin est le fondateur de Les-Tilleuls.coop. Membre de la core-team Symfony, il est le créateur du framework API Platform. Contributeur à plus d'une centaine de projets Open Source à son actif, il est également conférencier, rédacteur d'articles et livres techniques ainsi qu'enseignant à l’Université de Lille.
Grégoire HÉBERT
Directeur technique
Spécialiste de PHP avec Symfony et API Platform, auteur d'un livre sur REST, également conférencier et enseignant, Grégoire aime partager ses compétences afin de mettre en place des projets qualitatifs grâce à ses 10 années d'expérience en développement, conseil, audit et architecture.
Antoine BLUCHET
Directeur technique
Expert Full-Stack, Antoine contribue à des logiciels Open Source depuis bientôt 10 ans, dont Symfony et API Platform. Auteur et mainteneur de modules JavaScript, il maîtrise également Node.js et de nombreux frameworks (Nest, Angular, React). En tant qu'architecte, implémenter et accompagner des équipes sur ces technologies fait partie de son quotidien. Il est aussi formateur, blogueur et conférencier.
Alan POULAIN
Consultant
Alan est consultant à Les-Tilleuls.coop où il réalise des audits, de l'architecture ou encore du coaching pour aider les équipes à intégrer des bonnes pratiques. Il a à la fois la casquette front (React, TypeScript) et back (PHP, Symfony, API Platform). Il est membre de la core team API Platform et s'occupe notamment de API Platform Admin et des composants GraphQL et MongoDB.