Développement Symfony 5
Développement 1360 € HT
Objectifs
- Appréhender les concepts et l’architecture du framework Symfony
- Maîtriser les différents outils
- Développer une application Web simple avec Symfony 5
Methodes et outils pédagogiques
- Alternance exposés théoriques et exercices pratiques (80% pratique)
-
Support de cours
Evaluation
- Tout au long de la formation, exercices pratiques permettant au formateur la validation des acquis et des compétences
Public concerné
Chefs de projet, Développeurs, Webmaster
Pré-requis
Maîtriser PHP et les concepts Objet, ainsi que de HTML et SQL et avoir des notions de CSS et JavaScript
Rappels sur PHP5 (selon le tour de table)
- La syntaxe PHP
- Le développement orienté objet en PHP5
- Les exceptions
- Introduction au namespaces
- Les Closures & Fonctions Anonymes
- PHP en ligne de commande
Introduction à Symfony 5
- Notion de framework
- Historique & Feuille de Route
- Les nouveautés de Symfony 5 par rapport à Symfony 3
- Installation et mise en place d’un projet
Architecture de Symfony 5
- Organisation d’une application
- Notion de distribution
- Design pattern MVC
- Cycle de traitement d’une requête
- ClassLoader et PSR-4
Développer avec Symfony 5
- Gestion des sources
- La ligne de commande
- Debug Toolbar
- Profiler
Configuration d’un projet
- Les environnements
- Les différents fichiers de configuration
- Les différentes syntaxes Yaml, Xml, PHP
Créer des pages
- Créer des contrôleurs
- Définir les url
- Recevoir des paramètres
- L’objet Request
- Envoyer une réponse
- L’objet Response
- Redirections
- Utiliser la vue
- Le Routing (Définition des routes, Routes paramètrées, Génération d’url)
- Lire et écrire dans la session de l’utilisateur courant
Les services
- Concept
- Architecture & Injection de dépendance
- Déclaration et utilisation
La vue : Twig
- La syntaxe
- Gestion et manipulation des variables
- Mise en forme de données
- Structures (boucles et conditions)
- Définir un layout (héritage, block et inclusion)
Le modèle : notion d’ORM et Doctrine
- Qu’est-ce qu’un ORM, ses objectifs
- Présentation de Doctrine
- Création d’un modèle
- Synchronisation du schéma avec la base
- Définitions des relations
- Manipulation des entités
- Recherches et requêtes
- Organisation dans un projet Symfony 5
Les formulaires
- Présentation du composant Form
- Stratégies de création des formulaires
- Gestion de l’affichage
- Validation des données
- Traitements de la soumission
- Afficher des informations avec les messages flash
L’envoi de mail
- Présentation de Swiftmailer
- Envoyer les données par courrier électronique avec Swiftmailer
- Configuration
Bonnes pratiques et standards
- Règle de style de code
- PSR
- Les outils
Restreindre l’accès à certaines pages
- L’approche de Symfony 5
- Le firewall
- Le contrôle d’accès
- Gestion des droits
- Configuration de la sécurité
Tests et qualité
- Les tests unitaires
- Les tests fonctionnels
- L’intégration continue
- Internationalisation
- Notion de locale
- Mise en place de traduction
- Localisation d’interface
Bundles Tiers
- Chercher un bundle
- Installer un bundle tiers
- Bundles recommandés
Bibliographie
- Où s’informer
- Où trouver de l’aide