1 - Rappels sur PHP5 (selon le tour de table)
- La syntaxe PHP
- Le développement orienté objet en PHP5
- Les exceptions
- Introduction au namespaces
- Les Closures & Fonctions Anonymes
- PHP en ligne de commande
2 - Introduction à Symfony 3
- Notion de framework
- Historique & Feuille de Route
- Les nouveautés de Symfony 3 par rapport à Symfony 2
- Installation et mise en place d’un projet
3 - Architecture de Symfony 3
- Organisation d’une application
- Notion de distribution
- Design pattern MVC
- Cycle de traitement d’une requête
- ClassLoader et PSR-4
4 - Développer avec Symfony 3
- Gestion des sources
- La ligne de commande
- Debug Toolbar
- Profiler
5 - Configuration d’un projet
- Les environnements
- Les différents fichiers de configuration
- Les différentes syntaxes Yaml, Xml, PHP
6 - Créer des pages
- Créer des contrôleurs
- Définir les url
- 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’url)
- Lire et écrire dans la session de l’utilisateur courant
7 - Les services
- Concept
- Architecture & Injection de dépendance
- Déclaration et utilisation
8 - 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)
9 - 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
10 - Les formulaires
- Présentation du composant Form
- Stratégies de création des formulaires
- Gestion de l’affichage
- Validation des données
- Traitements de la soumission
- Afficher des informations avec les messages flash
11 - L’envoi de mail
- Présentation de Swiftmailer
- Envoyer les données par courrier électronique avec Swiftmailer
- Configuration
12 - Bonnes pratiques et standards
- Règle de style de code
- PSR
- Les outils
13 - 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é
14 - 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
15 - Bundles Tiers
- Chercher un bundle
- Installer un bundle tiers
- Bundles recommandés
16 - Bibliographie
- Où s’informer
- Où trouver de l’aide