Formation Développement Web avec Symfony 3

Ref :

Découvrez l'essentiel du framework Symfony3

Développement Durée :
4 jours
Lieu :
Clichy

Tarif

Intra :
2 100€ HT
Inter :
1 990€ HT par personne
Inscrivez-vous

Demande d'informations

Les prochaines dates

Du : 04 décembre 2017 Au : 05 décembre 2017

Du : 18 décembre 2017 Au : 19 décembre 2017

Pré-requis

  • Maîtrise de la programmationn orientée objet en PHP

Public concerné

  • Développeur PHP

Objectifs

  • Apprenez à maîtriser le modèle MVC ainsi que les formulaires

  • Apprenez l'authentification ou bien encore les tests unitaires et la gestion du cache HTTP

Programme détaillé

La Programmation Orientée Objet (sur demande)

  • Les classes et objets

  • Constructeurs

  • Propriétés et méthodes

  • L'héritage

  • Visibilité

  • Exceptions

  • Espaces de nommage (« namespaces »)

Découvrir le Framework Symfony 3

  • Présentation générale du framework et de ses outils

  • Installation d’une « Distribution Standard Symfony »

  • Architecture d’un projet Symfony (application, bundles, librairies, configuration etc.)

  • Traitement d’une requête HTTP avec Symfony

  • Comprendre la notion d’environnement (développement, production et test)

  • Conventions de codage et de nommage des fichiers

  • Introduction au concept de « Bundle »

Savoir Déboguer son Code

  • La barre de débogage (« Web Debug Toolbar »)

  • La journalisation des erreurs (« logs »)

  • L’interface de profilage des requêtes (« Web Profiler »)

  • Les traces d’exception et d’erreur (« stack traces »)

  • Les outils des composants Debug et VarDumper

Configurer une Application Symfony

  • Comparatif des formats de configuration supportés : XML, YAML et PHP

  • Configuration globale de l’application

  • Configuration globale des URLs avec des annotations

  • Surcharge de la configuration d’un « bundle »

Générer des Pages Web pour l'Utilisateur Final

  • Introduction au moteur de rendu Twig

  • Twig versus PHP

  • Accès aux variables globales (requête, session, utilisateur)

  • Tags, filtres et fonctions

  • Héritage de gabarits

  • Inclusion de gabarits

  • Inclusion d’actions

  • Générer des URLs

  • Afficher des formulaires

Concevoir des Actions et Analyser la Requête de l'Utilisateur

  • Définition d’une classe de contrôleur et des méthodes d’action

  • Associer une URL à un contrôleur grâce aux annotations

  • Générer une réponse brute ou à partir d’un gabarit

  • Accéder à l’objet de requête de l’utilisateur

  • Lire et écrire des données dans la session de l’utilisateur

  • Lire et écrire dans un cookie

  • Déclencher une page de type 404

  • Déclencher une redirection interne vers une autre action

  • Savoir rediriger l’utilisateur vers une autre page

Interagir avec l'Utilisateur Final grâce aux Formulaires

  • Découvrir le composant de formulaires

  • Créer et traiter des formulaires simples

  • Appliquer des règles de validation sur les champs

  • Prototyper le rendu d’un formulaire avec Twig

  • Récolter les données validées d’un formulaire

  • Construire et envoyer un e-mail récapitulant les données du formulaire

Internationaliser et Localiser l'Interface Utilisateur

  • Découvrir le composant de traduction

  • Changer la langue par défaut de l’application

  • Définir des clés de traduction dans les vues Twig

  • Générer les squelettes de fichiers de traduction au format XLIFF

  • Traduire les clés de traduction dans les fichiers XLIFF

  • Gérer les traductions incluant des règles de pluralisation

Injection de Dépendance et Registre de Services

  • Comprendre le principe de l'injection de dépendance

  • Introduction au conteneur de services de Symfony

  • Lister les services existants du framework Symfony

  • Enregistrer de nouveaux services dans le conteneur

  • Récupérer un service depuis le conteneur

  • Créer et lire des paramètres de configuration globaux

  • Comprendre le principe de services « privés »

Contracter une Assurance Qualité avec les Tests Automatisés

  • Découvrir le framework de tests PHPUnit

  • Comprendre les enjeux des tests automatisés (unitaires et fonctionnels)

  • Configurer une suite de tests automatisés

  • Créer et exécuter une suite de tests unitaires

  • Écrire et exécuter une suite de tests fonctionnels

  • Générer des rapports de couverture de code

Interagir avec l'Utilisateur grâce aux Formulaires

  • Concevoir et traiter des formulaires web

  • Automatiser le rendu des formulaires avec les aides de vue Twig

  • Personnaliser le rendu des formulaires avec les thèmes de rendu Twig

  • Configurer les types de formulaires comme des services

  • Appliquer des règles de validation standard sur les données soumises

  • Appliquer des règles de validation personnalisées sur les données soumises

  • Contextualiser le déclenchement des règles de validation avec les groupes de validation

Restreindre l'Accès aux Espaces Sécurisés de l'Application

  • Introduction aux principes d'authentification et d'autorisation

  • Sécuriser certaines parties d'un site avec une authentification par formulaire web

  • Mettre en place le composant Guard pour gérer une authentification par formulaire web

  • Établir une politique de droits d'accès selon les rôles de l’utilisateur courant

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

Améliorer les Performances de l'Application avec le Cache HTTP et le ESI

  • Introduction au cache HTTP

  • Découvrir les différents types de cache

  • Comparer les stratégies de cache : expiration versus validation

  • Appliquer les règles d'expiration et de validation des pages

  • Cacher des fragments dynamiques de page avec les ESIs (« Edge Side Includes »)

  • Installer et configurer le proxy inversé natif de Symfony

Interagir avec une Base de Données Relationnelle

  • Découvrir l'ORM Doctrine

  • Comprendre les notions d'entités, dépôts (« repository ») et de gestionnaire d'entités,

  • Automatiser la génération de classes d'entités associées au modèle relationnel SQL

  • Persister des données dans une base de données avec Doctrine

  • Récupérer les donnes d'une base de données avec Doctrine

Nos Actualités