Symfony

Symfony 8, maîtriser les fondamentaux et les fonctionnalités avancées

Objectifs de la formation

  • Appréhender les concepts et l’architecture du framework
  • Maîtriser les différents outils de développement lié à Symfony
  • Développer une application Web complète avec Symfony
  • Comprendre Doctrine et la liaison avec la base de données
  • Approfondir les concepts avancés de Symfony
  • Assimiler les bonnes pratiques du framework
  • Utiliser Symfony dans un environnement sécurisé


Programme de la formation


Introduction

  • Qu’est-ce que Symfony 8 et pourquoi l’utiliser ?
  • L’évolution du framework
  • L’écosystème des frameworks PHP
  • Identifier et trouver des ressources sur Symfony
  • Les concepts fondamentaux.

Mise en place de Symfony

  • Installation de Symfony
    • Symfony Flex
    • Symfony Full Stack Framework
  • Mettre en place la structure d’un projet Sympfony
  • Les bases du concept MVC (Modèles, Vues, Contrôleurs)
  • Configuration de votre framework Symfony (XML, YAML, PHP)
  • Comprendre le déroulement d’une requête HTTP dans Symfony
  • Concepts de base de Symfony
    • Autoloader
    • Services et injection de dépendance
    • Le routing et la gestion des urls

Architecturer un projet Symfony 8

  • Organisation d’un projet
  • Gestion des dépendances (composer)
  • Création des pages

La couche modèle avec Doctrine

  • Présentation du concept d’ORM (Object Relational Mapping)
  • Générer une base de données et les classes associées de la couche ORM
    • Création de la base de données et d’une Entité
    • Création – Read – Update – Delete
    • Améliorer ses requêtes avec des critères
  • Le Query Builder de Doctrine.

La couche vue avec Twig

  • Présentation de la couche Vue
  • Création de vos templates
  • Les templates modulaires
  • Héritage de template
  • Les Blocks
  • Syntaxe (variable, boucle et condition)
  • Le layout global et les layouts des bundles

La couche contrôleur

  • La gestion du routage des pages
  • Gérer des paramètres
  • Manipuler des objets Request et Response

Les formulaires avec Symfony

  • Mettre en place des formulaires simples
  • Définir des règles de validation de vos formulaires
  • Découverte du FormBuilder : le fabricant de formulaires
  • Les formulaires avec Twig
    • Créer la page de création d’une annonce
    • Afficher un formulaire Symfony
    • Les fonctions d’affichage de formulaire
    • Mise en forme du formulaire
    • Les thèmes de formulaires
    • Le thème de formulaire Bootstrap

Tests et qualité

  • Présentation des tests unitaires
  • Tests unitaires avec PHPUnit
  • Présentation des tests fonctionnels
  • Tests fonctionnels
  • Opérations de mise en production

Injection de dépendance et registre de services

  • Notions d’IoC : DependencyInjection Component
  • Enregistrer de nouveaux services dans le conteneur de services
    • Injection Container & Service Locator
  • Étendre les fonctionnalités du framework avec les « tags »
    • Custom service tags

Formulaires avancés

  • Gestion de la CollectionType
    • Ajouter un élément dynamiquement grâce au prototype
    • Faire persister les éléments liés
    • Supprimer un élément dynamiquement
    • Valider les sous-formulaires
  • Comprendre Twig : personnaliser l’affichage des formulaires
  • Rendre le champ « slug » non obligatoire (option required)
  • La validation de formulaire avec Symfony
    • Utilisation des contraintes fournies par défaut par Symfony
    • Création de contraintes personnalisées
  • Utilisation d’EntityType Field

Maîtriser les composants Symfony

  • Commande
    • Réaliser sa propre commande
    • Administrer les options
    • Gérer les arguments
    • Récupérer un service de l’application
  • Process
  • Config
  • YML Dumper
  • Finder
  • Crawler et Filesystem

Gestion des événements Symfony

  • Comprendre comment fonctionnent les évènements
  • Créer ses propres évènements

Gestion des événements Symfony

  • Comprendre comment fonctionnent les évènements
  • Créer ses propres évènements

Utiliser Twig

  • Concevoir une extension Twig
  • Concevoir des fonctions
  • Concevoir des filtres
  • Comprendre la gestion des pages d’erreurs dans une application Symfony 8
  • Créer une page d’erreur 404 personnalisée et la tester manuellement
  • Créer une page d’erreur 403 personnalisée et la tester manuellement
  • Faire attention au cache en environnement de production

Sécuriser ses pages Symfony

  • Mettre en place une authentification par formulaire avec le composant « Guard »
  • Mise à jour de la Fixture pour créer de faux utilisateurs
  • L’encodage des mots de passe de nos utilisateurs
  • Découverte de l’interface UserInterface
  • Authentification :
    • Déclarer un nouveau provider (entité User)
    • Créer le formulaire de connexion
    • Authentifier réellement l’utilisateur
    • Permettre à l’utilisateur de se déconnecter
    • Repérer les erreurs avec la classe AuthenticationUtils
  • Créer le formulaire d’inscription : le RegistrationType
  • Tester les droits de l’utilisateur courant depuis un contrôleur ou une vue
  • Enregistrer des règles d’autorisation personnalisées avec le système de « voteurs »
MOYENS PÉDAGOGIQUES ET TECHNIQUES D’ENCADREMENT DES FORMATIONS

Modalités pédagogiques :

  • Évaluation des besoins et du profil des participants.
  • Apport théorique et méthodologique : séquences pédagogiques regroupées en différents modules.
  • Contenus des programmes adaptés en fonction des besoins identifiés pendant la formation.
  • Le formateur évalue la progression pédagogique du participant tout au long de la formation au moyen de travaux pratiques, étude de cas et mise en situation.
  • Méthodes expositive, active et participative.
  • Réflexion et échanges sur cas pratiques.
  • Retours d'expériences.
  • Corrections appropriées et contrôles des connaissances à chaque étape, fonction du rythme de l’apprenant mais également des exigences requises au titre de la formation souscrite.

Éléments matériels :

  • Mise à disposition des outils nécessaires au bon déroulement des travaux pratiques.
  • Support de cours au format numérique projeté sur écran et transmis au participant en fin de la formation.

Référent pédagogique et formateur :

  • Chaque formation est sous la responsabilité du directeur pédagogique de l’organisme de formation.
  • Le bon déroulement est assuré par le formateur désigné par l’organisme de formation.
MOYENS PERMETTANT LE SUIVI ET L’APPRÉCIATION DES RÉSULTATS
  • Feuilles de présences signées des participants et du formateur par demi-journée.
  • Attestation de fin de formation mentionnant les objectifs, la nature et la durée de l’action et les résultats de l’évaluation des acquis de la formation.
Please login to get access to the quiz
Back to Symfony
Public

Chefs de projet Web , Architectes techniques, Développeurs

Pré-requis

Bonnes connaissances de PHP. Connaissances de base de la programmation Orientée Objet. Maîtrise de HTML et CSS

Vérifiez que vous avez les prérequis nécessaires pour profiter pleinement de cette formation en effectuant le test disponible en bas de cette page.

Lieu de formation

Intra-entreprise/à distance

Dates ou période

À définir. Nous consulter

Tarif

Sur devis. Merci de nous contacter

Modalités

Pour s’inscrire à notre formation, veuillez nous contacter par mail ou téléphone.

Démarrage de la formation sous deux semaines (délai indicatif).

Nous contacer
Informations complémentaires

Pour toute réclamation, aléas ou difficultés rencontrés pendant la formation, veuillez prendre contact avec notre organisme par téléphone ou par e-mail. Nous mettrons tout en œuvre pour trouver une solution adapter.

Formation synchrone, réalisée à distance en visioconférence via l’application Microsoft Teams ou en présentiel dans les locaux du client.