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
 28 Heures

Nombre de participants


Prix ​​par Participant

Nos clients témoignent (6)

Cours à venir

Catégories Similaires