Evolution MM

Formations à l'informatique
Découvrez la différence ENI

Lien accueil

ENI Service est partenaire du DevFest Nantes 2019.

Rendez-vous les 21 et 22 octobre prochains pour un festival très rock !

Rechercher
Rechercher une formation
 

Développer en PHP avec le framework Symfony

La formation est dispensée sur la dernière version LTS (Long-Term Support) à la date du cours. Une exploration des changements à venir dans la version STS (Short-Term Support) du moment sera faite dans le dernier module de formation.

Public :

  • Développeurs PHP.

Objectifs :

  • Comprendre et mettre en œuvre le modèle MVC dans une application Web PHP ;
  • Construire une application basée sur Symfony.

Pré-requis :

  • Connaissance de la programmation et du langage HTML, ainsi que des technologies de l'Internet. ;
  • Connaître le langage PHP ou avoir suivi le cours " T44B-010 - Développement PHP - Niveau 1 " ;
  • Etre familiarisé avec la programmation orientée objet en PHP.

Contenu pédagogique

Introduction aux frameworks MVC PHP

  • Qu'est-ce que MVC ?
    • Apports et avantages
  • La répartition des responsabilités dans une application PHP
    • Implémentation du Model avec un ensemble de classes
    • Réalisation des Vues avec les mécanismes de Templates PHP
    • Codage des Contrôleurs pour l'aiguillage des flux

Présentation et introduction à Symfony

  • Historique de Symfony
    • Différentes versions du framework : Evolutions v1, v2 et v3
    • Comprendre le versioning de Symfony : Le versionning sémantique
    • Choisir sa version pour un projet
  • Architecture du framework
    • La notion de distribution
  • Les composants de base

Mettre en place un projet Symfony

  • Création d'un projet avec l'édition standard du framework
    • Utilisation de Composer
    • Découverte de l'application générée
  • Paramétrage du serveur Web pour l'hébergement de l'application
    • Création et configuration d'un hôte virtuel
  • Configuration du framework pour l'utiliser dans ses applications
    • Liaison à la base de données
    • Les différents environnements : dev, test, prod

Configuration de Symfony

  • Les fichiers de configuration
    • Répartition hiérarchique des fichiers
  • Les syntaxes de configuration
    • Syntaxes YAML, Annotations, XML et PHP
    • Faire un choix de syntaxe

Le modèle de programmation de Symfony

  • Présentation de la console pour la génération des squelettes code de l'application
  • La notion de Bundle
    • Création d'un Bundle et déclaration dans l'application
    • Comment découper correctement en Bundle
    • Les Bundles de la communauté

La manipulation des bases de données pour le modèle

  • Configuration de l'application et du Bundle pour l'accès aux données
  • Présentation des techniques de mapping objet/relationnel
    • Avantages et principes
  • Doctrine 2 : Le framework de manipulation de données de Symfony
    • Installer Doctrine 2 dans l'application
    • Les entités et le mapping sur les tables
  • Génération avec la console
    • Les différentes approches : Top-down, Bottom-Up
  • Utiliser l'EntityManager
  • Les repositories et le DQL
    • Personnalisation du repository pour les requêtes de sélection
    • Manipulation et syntaxe DQL
  • Le QueryBuilder

Les contrôleurs et le routage des requêtes

  • Mécanisme de contrôleur frontal et de routage
  • Format et configuration des routes
    • Routage global dans l'application
    • Le routage de chaque Bundle
  • Implémentation des contrôleurs
    • Récupération des paramètres des routes
    • Interaction avec le modèle
    • Redirections internes et externes
    • Transmissions d'information et délégation aux vues

Les vues avec les Templates Twig

  • Présentation de Twig et de sa syntaxe
    • Instructions et expressions
  • Les notions de layout/views et de blocs
    • Organisation des fichiers
    • Principes de l'héritage de blocs
    • Composition de vues
  • Fonctionnalités avancées du langage
    • Structures conditionnelles et itératives
    • Les filtres et fonctions
  • Echange de données et interactions avec les contrôleurs

Les formulaires

  • Une librairie MVC pour créer les formulaires
  • Initialisation et affichage d'un formulaire
    • Les objets Form et FormBuilder
    • Les différents types de contrôle
  • Traitement et validation des données d'un formulaire
    • Le lien avec la couche modèle
    • Mise en place des contraintes de validation
    • Gestion des erreurs de validation et de leurs messages
  • Utilisation des thèmes de formulaire pour la personnalisation du rendu

La sécurité dans les applications Symfony

  • L'authentification
    • Les différentes techniques d'authentification et leur configuration dans l'application.
  • Gestion des permissions utilisateurs
    • Utilisateur et rôles
    • Exploiter les fournisseurs d'utilisateurs
    • Le cryptage des mots de passe
  • Gestion des autorisations
    • Sécuriser les accès en fonction des rôles

Perspectives : La version STS en cours

  • Explication du principe de dépréciation
    • Le cycle dans Symfony
    • Savoir anticiper les changements d'API
  • Contraintes de portage entre les versions
  • Exploration des nouvelles fonctionnalités
  • Mettre en place la veille technologique
    • Surveiller les évolutions de version
    • Identifier la prochaine version LTS
    • Surveiller les évolutions fonctionnelles