Plan du cours
Orienté objet Programming
- Classes et objets
- Propriétés et méthodes
- Méthodes constructeurs et destructeurs
- Héritage de classes
- Portée des attributs et méthodes (visibilité)
- Gestion des erreurs avec les exceptions
- Espaces de noms
Présentation du cadre Symfony
- Introduction au framework Symfony et à son écosystème
- Installation de la « Standard Edition Distribution » Symfony
- Découverte de l'architecture de projet Symfony (application, bundles, bibliothèques, etc.)
- Compréhension du workflow de traitement des requêtes HTTP
- Compréhension du concept d'environnement (développement, production et test)
- Introduction aux conventions de codage et de nommage des fichiers
- Découverte du concept de « Bundle »
Déboguer le code
- Obtenir de l'aide grâce à la « Web Debug Toolbar »
- Informer les logs enregistrés
- Profiler des requêtes HTTP grâce à l'application « Web Profiler »
- Détecter des problèmes grâce aux traces d’erreurs et de exceptions explicites
- Utiliser les fonctionnalités des composants Debug et VarDumper
Configurer l'application
- Comparer les formats de configuration intégrés pris en charge : XML, YAML et PHP
- Configuration de l’application grâce aux paramètres globaux
- Configuration des routes et URLs de l'application avec des annotations
- Surcharger la configuration définie par un « bundle » intégré ou tiers
Générer des contenus pour l'utilisateur final
- Introduction à l’outil de templates Twig
- Comparaison entre les stratégies de templating Twig et raw PHP
- Accéder aux variables globales depuis un template Twig (requete, session, utilisateur)
- Utiliser des balises, filtres et fonctions pour générer et formater du contenu dans un template Twig
- Rendre les templates réellement extensibles grâce à la fonctionnalité d'héritage de modèle
- Découper les modèles en morceaux plus petits pour éviter les duplications de code
- Rendering d'un contrôleur Symfony depuis un template Twig
- Génération d'URL basée sur la configuration des routes de l’application
- Rendu de formulaires Symfony avec des helpers de vue customisés Twig
Développer un contrôleur et analyser la requête
- Conception d'une classe de contrôle avec ses méthodes d'action
- Mappage des modèles d'URL vers les contrôleurs Symfony grâce à des annotations
- Génération de réponses brutes et basées sur des templates Twig
- Récupération des informations du client depuis l’objet Request
- Lecture et écriture de données de session
- Lecture et écriture de données cookie
- Déclencher une page d'erreur 404 lorsque la ressource n'est pas trouvée
- Rediriger internement vers un autre contrôleur pour éviter les duplications de code
- Rediriger l'utilisateur vers une autre page
Interagir avec l'utilisateur final grâce aux formulaires
- Découverte du composant « Form »
- Conception et traitement de formulaires web simples
- Ajout de contraintes de validation sur les données des champs soumis
- Prototypage du rendu du formulaire grâce aux helpers de vue Twig
- Récupération et traitement des données soumises par le formulaire
- Envoi des données validées et filtrées du formulaire par e-mail à un destinataire
Internationalisation et localisation de l'interface utilisateur
- Découverte du composant « Translation »
- Changement de la locale d'utilisateur par défaut
- Définition des clés de traduction abstraites personnalisées dans les templates Twig
- Gestion des traductions dynamiques, y compris les phrases plurielles
Injection de dépendances et conteneur de services
- Compréhension du principe d'injection de dépendances
- Démarrage avec le conteneur de service Symfony
- Lister tous les services intégrés Symfony grâce aux outils en ligne de commande
- Inscription de nouveaux services commerciaux personnalisés dans le conteneur d'injection de dépendances
- Accéder à un service inscrit depuis le conteneur de services
- Création et accès aux paramètres de configuration globaux depuis le conteneur
Contracter une assurance qualité avec des tests automatisés
- Découverte du cadre d'automatisation des tests PHPUnit
- Compréhension des objectifs de l'automatisation des tests (tests unitaires et fonctionnels)
- Configuration d'une suite de tests automatisés
- Conception et exécution d'une suite de tests unitaires
- Conception et exécution d'une suite de tests fonctionnels
- Génération des rapports de couverture du code
Interagir avec l'utilisateur final et les formulaires
- Conception et traitement de formulaires web
- Automatisation du rendu des formulaires grâce aux helpers de vue Twig
- Personnalisation du rendu des formulaires avec les thèmes de formulaire intégrés et personnalisés Twig
- Configuration des types de champs de formulaire en tant que services
- Application des règles de contraintes de validation intégrées sur les données soumises
- Application de règles de contraintes de validation personnalisées sur les données soumises
- Contextualisation de la validation des données grâce aux groupes de validation
Restreindre Access aux zones sécurisées de l'application
- Démarrage avec les principes d’authentification et d'autorisation
- Sécuriser certaines pages de l'application grâce à une stratégie d'authentification basée sur un formulaire
- Implémentation du sous-composant « Security Guard » pour gérer l'authentification
- Mise en place d'une politique de contrôle d'accès basée sur les rôles des utilisateurs
- Tester les permissions utilisateur depuis un contrôleur et un template Twig
- Inscription de règles personnalisées d'autorisation grâce aux « voters » de sécurité
Améliorer les performances des applications avec la mise en cache HTTP et l'ESI
- Démarrage avec les workflows de mise en cache HTTP
- Découverte des différents types de systèmes de cache
- Comparaison des stratégies d’expiration et de validation du cache
- Appliquer des contraintes de cache d'expiration et de validation aux pages Web générées
- Mise en cache des fragments de page grâce à la technologie ESI (« Edge Side Includes »)
- Installation et configuration du reverse-proxy intégré Symfony
Interroger un système relationnel Database avec Doctrine
- Découverte des bases de l'ORM Doctrine
- Compréhension des concepts d’« entités » et « dépôts »
- Génération automatique du code des classes PHP et des requêtes SQL avec Doctrine
- Persistance des données dans la base de données grâce au gestionnaire d'entité Doctrine ORM
- Récupération des données depuis la base de données grâce à Doctrine
- Construction et exécution de requêtes personnalisées SQL grâce à l’objet Query Builder de Doctrine
Pré requis
- Connaissance des concepts orientés objet Programming
- Connaissance de PHP
- Connaissance de base d'un framework MVC/MVP
Public cible
- Développeurs web
- Programmeurs PHP
- Développeurs souhaitant créer des applications robustes avec Symfony
Nos clients témoignent (6)
l'humour, disponabilité pour répondre à d'autre types de questions
koen depoorter
Formation - Web Development with Symfony3
Assistance personnelle lorsque j'avais des problèmes techniques :)
Elena Rouvier
Formation - Web Development with Symfony3
Les exercices pratiques en relation avec le contexte
Guillaume Martens
Formation - Web Development with Symfony3
Abhinav did an excellent job! Within four days he covered all the important concepts that are used in REAL software development. I am so thankful have him as our trainer!.
Vijay Joseph
Formation - Web Development with Symfony3
I liked the trainer's communication & knowledge in Symphony 3 and associated technologies. He had taken enough effort to teach and demonstrate with some examples in the respective topics. I can say my symphony knowledge and confidence level is gone up after this training.
Hari Kumar
Formation - Web Development with Symfony3
I like the Doctrine concept in Symphony taken by the trainer. The trainer is more energetic and make the sessions more interactive. I think it is a great capability of the trainer.