developpement web avec symfony3

Transcription

developpement web avec symfony3
SENSIOLABS
92-98 Boulevard Victor Hugo
9211 5 CLICHY Cedex
Tel: 01 40 99 82 05
Fax: 01 40 99 82 30
Organisme de formation: 11 92 19266 92
SIRET : 752 893 842 00019
Web: http://trainings.sensiolabs.com
DEVELOPPEMENT WEB AVEC SYMFONY3
Objectifs:
En quatre jours, découvrez l'essentiel du framework
Symfony3 avec les meilleurs experts. Vous
apprendrez à maîtriser le modèle MVC ainsi que les
formulaires, l'authentification ou bien encore les
tests unitaires et la gestion du cache HTTP.
Durée: 4 jours - 28 heures
Prix inter: 1 990€ HT / personne
Prix intra : 2 100€ HT / jour – 8 personnes
maximum
Code: SF3C4
Public: Développeur PHP
Prérequis: Maîtrise de la programmation
orientée objet en PHP
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 »
SensioLabs SA
92 / 98 bld Victor Hugo, 92115 Clichy Cedex, France
+33 (0)140 99 82 05 - http://sensiolabs.com
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
SensioLabs SA
92 / 98 bld Victor Hugo, 92115 Clichy Cedex, France
+33 (0)140 99 82 05 - http://sensiolabs.com
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
Construire et exécuter des requêtes SQL personnalisées depuis les dépôts
SensioLabs SA
92 / 98 bld Victor Hugo, 92115 Clichy Cedex, France
+33 (0)140 99 82 05 - http://sensiolabs.com