Votre partenaire formation 100% digital

Symfony™ 3 cycle complet

Fondamentaux et techniques avancées du développement avec le framework Symfony 3

  • Formateur(s)

    William POTTIER
  • Référence

    SF303

  • Durée

    5 jours (35h)

  • Prix unitaire HT

    2300 €

Prochaines sessions

Prochaines sessions - Symfony™ 3 cycle complet
Date de début Ville Prix unitaire HT
10 décembre 2018 Paris 2300 € Réserver
18 février 2019 Paris 2300 € Réserver
3 juin 2019 Paris 2300 € Réserver
30 septembre 2019 Paris 2300 € Réserver
2 décembre 2019 Paris 2300 € Réserver

Description

Cette formation de 5 jours sur le framework Symfony 3 (SENSIOLABS / Fabien Potencier) apporte une vision très complète de ce framework, depuis son architecture jusqu’à sa mise en œuvre dans le cadre d’une application Web, en passant par les aspects tests unitaires, optimisation des performances et sécurité. Les fondamentaux et techniques avancées de Symfony 3 sont traités et font l’objet de TP sur poste individuel, à chaque fin de chapitre. Cette formation s’adresse à des personnes débutants ou justifiant déjà d’une 1ère expérience. Il est également possible de suivre uniquement la formation Symfony 3 les fondamentaux (3 jrs) ou Symfony 3 avancé (2jrs).

Objectifs pédagogiques

  • Appréhender les concepts et l’architecture du framework
  • Maîtriser les différents outils de Symfony 3
  • Étendre certains composants du framework (Twig, Console, Profiler)
  • Améliorer les processus de développement avec Symfony 3
  • Développer une application Web complète avec Symfony 3
  • Optimiser la configuration du framework d’un point de vue performance et sécurité

Public cible

Chefs de projet Web, Architectes techniques, Développeurs

Pré-requis

Maîtrise de PHP et des concepts objet, ainsi que de HTML et SQL, et notions de CSS et JavaScript. Le niveau avancé est réservé à des développeurs avec déjà quelques mois d’expériences sur Symfony

Modalités d’évaluation

L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation

Méthodes pédagogiques

50 % Théorie / 50 % Pratique

Programme de la formation

Rappels sur PHP5 (sur demande)

  • 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 3

  • Notion de framework
  • Historique & Feuille de Route
  • Les nouveautés de Symfony 3 par rapport à Symfony1
  • Installation et mise en place d’un projet

Architecture de Symfony 3

  • Organisation d’une application
  • Notion de distribution
  • Design pattern MVC
  • Cycle de traitement d’une requête
  • ClassLoader et PSR-0

Développer avec Symfony 3

  • 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 syntaxe Yaml, Xml, PHP

Créer des pages

  • Créer des contrôleurs
  • Définir les urls
  • 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’urls)
  • Lire et écrire dans la session de l’utilisateur courant

Les Services

  • Concept
  • Architecture & Injection de dépendances
  • 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 3

Les formulaires

  • Présentation du composant Form
  • Stratégies de créations des formulaires
  • Gestion de l’affichage
  • Validation des données
  • Traitements de la soumissions
  • 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

Bonne pratiques et standards

  • Règle de style de code
  • PSR
  • Les outils

Restreindre l’accès à certaines pages

  • L’approche de Symfony 3
  • 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

Twig (intermédiaire)

  • Utilisation des tags : macros, import, render et embed
  • Contrôle du scope
  • Étendre Twig

Les Services (intermédiaire)

  • Services abstraits

Surcharge et Héritage de Bundle

  • Surcharge de controleurs
  • Surcharge de templates
  • Surcharge des services

Mieux déboguer

  • Utilisation de la Stopwatch
  • Etendre la toolbar et le profiler
  • Utilisation de Monolog et stratégie de logs
  • xdebug et point d’arrêt

Plus loin avec les composants

  • Console (Création d’une commande, Les Helpers, Génération d’url)
  • Finder
  • Filesystem
  • Process
  • VarDumper
  • Yaml

Passer des paramètres à Symfony

  • Depuis le serveur Web
  • Depuis la ligne de commande (variables d’environnements)

Les formulaires

  • Le form type Collection
  • Les formulaires imbriqués
  • Les thèmes de formulaires (les bases)

La sécurité

  • Les ACL