Pré-requis : Avoir suivi le cours " PHP Avancé" ou disposer des connaissances équivalentes, en particulier la POO
Objectifs : Maîtriser les fondamentaux pour réaliser un projet Symfony
Sanction : Attestation de fin de formation mentionnant le résultat des acquis
Taux de retour à l’emploi : Aucune donnée disponible
Référence : MIS101026-F
Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins
Contact : commercial@dawan.fr
2 495,00 € HT
Framework PHP : définition et revue du marché
Principes
d’architecture : centrage HTTP, orientation objet, orientation
service
Anatomie du framework : le kernel, les composants
et les bundles
Configurer l’environnement, gérer les pré-requis, l’exécutable
symfony
Démarrer le projet avec symfony ou composer, choisir
son squelette de départ
Ajouter des paquets avec Symfony Flex
pour composer
Les répertoires du projet
Configurer le
projet via les fichiers de config
Paramétrer son environnement
via DotEnv
Choisir et utiliser son serveur de développement
Atelier: Installer, configurer et lancer un projet Symfony
Reconnaître les URLs demandées via les routes
Produire la
réponse HTTP par les classes de contrôleur
Utiliser les
annotations de routes
Affiner la gestion des routes :
paramètres, valeurs par défaut, contraintes, methodes
Convertir
automatiquement les paramètres
Maîtriser le dialogue HTTP via les objets du composant HttpFoundation
Débuguer les routes
Profiler les pages
Atelier: Créer ses premières pages
Principe d’un moteur de template et présentation de
Twig
Configurer Twig : chemin, échappement automatique,
variables globales, …
Revue de la syntaxe : les tags et les interpolations
Référencer les pages, créer des liens hypertexte
Référencer des ressources JS, CSS et images
Factoriser les templates : l’héritage,
l’inclusion et la sous-requête
Améliorer le rendu des pages, mettre en place un système de navigation
Comprendre le rôle d’un ORM
Installation et configuration
de Doctrine
Créer une classe d’entité
Utiliser les
migrations: créer le schéma
Enregistrer un objet en
base
Charger des objets depuis la base
Charger
automatiquement depuis la route (ParamConverter)
Mis en place de
relations/associations
Atelier: lier le contenu des pages à la base de données
Construire le formulaire et l’association à une classe de
données
Rendre le formulaire en HTML
Réceptionner et valider les données
Créer ses propres validateurs
Les classes de formulaire
Personnaliser le rendu (theming)
Créer les formulaires de saisie
Principe de fonctionnement: authentification et autorisation
Créer
sa classe d’utilisateur, le fournisseur et gérer l’encodage des
mot-de-passes
Authentifier l’utilisateur sur un contexte de
pare-feu
Contrôler l’accès sur des rôles au niveau du
pare-feu, des routes ou dans le code
Créer des règles personnalisées avec des voters
Authentifier les utilisateurs et restreindre l’accès aux pages
Configurer la langue, utiliser des catalogues
Rédiger les catalogues de messages
Traduire les validations, les entités, les urls, …
Gérer la locale utilisateur
Mettre en place des traductions
Utilisation des services du ServiceContainer
Injection de services et de configuration
Les services publics et privés
Renommer les services à l’aide des alias
Paramétrer les services et gérer les arguments
Paramétrer le câblage auto et la configuration auto
Lier des arguments par leur nom ou leur type
Atelier: Déporter les traitements dans des services
Revoir les fondamentaux du cache HTTP
Comparer les deux modèle de gestion de cache Expiration et Validation
Mettre en
place la stratégie de cache sur les routes et dans les contrôleurs
Exploiter des fragments de pages mis en cache via les Edge Side Includes
Atelier: Réduire les temps de rendus des pages en s’appuyant sur le cache HTTP et les ESI
Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.
Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 02/318.50.01 (prix d'un appel local) ou depuis notre formulaire de contact.