Description
Symfony est un framework PHP MVC open-source privilégiant la réutilisation de composants, la convention sur la configuration, et soutenu par une communauté active pour simplifier le développement web. Lors de cet apprentissage, vous apprendrez à enrichir vos applications Symfony en utilisant ses fonctionnalités avancées de l'injection de dépendance à la gestion de l'asynchrone, en passant par la traduction, le déploiement et la surveillance des applications.
À qui s'adresse cette formation ?
Pour qui ?
Cette formation avancé s'adresse aux développeurs·ses utilisant déjà Symfony régulièrement, souhaitant explorer les fonctionnalités approfondies de ce framework
Prérequis
- Une expérience en développement Web avec Symfony
- Un environnement capable d'utiliser Docker (Linux, OSX ou Windows avec WSL2)
Les objectifs de la formation
Programme de la formation
- Symfony, quoi de neuf ?
- Présentation de l'application
- L’injection de dépendance
- Personnaliser l'injection de dépendance en fonction de l'environnement
- Injecter des dépendances dans vos services Symfony en utilisant des setters et des paramètres
- Rendre son application modulaire
- Revoir la notion d’interface
- Créer des services facilement remplaçables
- Doctrine
- Découvrir `Doctrine Query Language` (DQL) pour interagir avec la base de données et au-delà SQL
- Comprendre le cycle de vie des entités et les events afin de réagir aux changements des entités
- Aller au-delà des auto-incréments dans la génération d'identifiants
- Faire le ménage dans les migrations de base de données dans Symfony
- Le cache avec Symfony
- Utiliser `reverse proxy` pour améliorer les performances
- Gérer le cache pour optimiser les temps de réponse
- Twig avancé
- Rappels sur Twig, le moteur de templates de Symfony
- Découvrir comment utiliser les fonctions et les filtres Twig pour manipuler les données dans vos templates
- Créer des extensions personnalisées pour étendre les fonctionnalités de Twig
- Concevoir des commandes CLI
- Concevoir des commandes avec des options et des arguments
- Interaction avec la console
- Formater l’affichage
- Utiliser le routage et les templates en dehors du contexte HTTP
- Concevoir une API avec APIPlatform : introduction
- Générer une API « en pilote automatique » à partir des entités Doctrine
- Aller plus loin dans la personnalisation avec les points d’extension APIPlatform
- Ne pas oublier CORS (Cross-Origin Resource Sharing)
- Gestion de l’asynchrone
- Optimiser les tâches asynchrones à l’aide de `messenger` et des `queues`
- Configurer les transporters pour administrer les messages asynchrones • Envoyer des notifications
- Traduire son application
- Explorer les bases de la traduction pour rendre une application multilingue
- Extraire et gérer les chaînes de texte traduites
- Utiliser des providers extérieurs pour déléguer les traductions
- Déployer une application Symfony
- Déployer une application Symfony sur un service en ligne (Platform.sh, CleverCloud)
- Déployer une application Symfony en tant qu’image Docker
- Surveiller son application
- Configurer les logs de votre application Symfony
- Surveiller les performances avec Blackfire
- Aller plus loin dans la gestion des logs avec Sentry, agrégateurs de logs