Consolider les bases de la programmation objet PHP
- Comprendre les bénéfices de l’objet sur le procédural
- Revoir les classes : constructeurs d’objets
- Réviser les propriétés, les méthodes et la visibilité
- Distinguer les namespaces et les autoloaders
- Identifier les constructeurs, les méthodes magiques
- Savoir utiliser l’encapsulation et les getters/setters
- Gérer les références et les associations
- Revoir l’héritage, les classes abstraites, les interfaces et les traits
Appréhender l’interface Symfony
- Identifier les principaux frameworks web
- Situer le positionnement de Symfony face aux concurrents
- Basculer d’un développement PHP traditionnel à Symfony
- Effectuer une installation avec Composer et Symfony CLI
- Comparer symfony/skeleton et symfony/website-skeleton
- Découvrir symfony Flex
Concevoir ses pages avec le Routeur de Symfony
- Configurer les Routes : attributs PHP 8, annotations, YAML, XML, code PHP
- Appréhender HttpFoundation : Request, Response
- Etablir les paramètres d’URL et les paramètres spéciaux
- Gérer les conflits de routes et de debug
- Insérer les vues avec le moteur de template Twig
Mobiliser une vue depuis un contrôleur
- Apprendre les structures conditionnelles
- Manipuler les fonctions et les filtres
- Assimiler le concept de Two Step View : héritage et blocks Twig
- Exploiter les données avec l’ORM Doctrine
Paramétrer le mapping relationnel objet
- Faire le mapping des associations et de l’héritage
- Générer les entités et les tables
- Utiliser la doctrinemigrations pour gérer les migrations
- Requêter les entités grâce aux EntityManager et EntityRepository
- Concevoir des requêtes avancées avec le QueryBuilder et DQL
Maîtriser la gestion des formulaires
- Etablir des formulaires en lien avec une entité
- Fixer les règles de filtrage et de validation
- Se servir des fonctions Twig pour le rendu des formulaires
Définir les thèmes pour Bootstrap et Tailwind CSS
- Explorer les fonctions avancées de Symfony
- Rajouter des fonctionnalités à partir des Bundles et SymfonyFlex
- Concevoir et maintenir des applications multilingues
- Réaliser un débogage avec le Web Debug Toolbar et le Web Profiler