Formation Symfony et Doctrine
Cette formation sur quatre journées consécutives, a pour but de donner toute autonomie aux développeurs PHP5 aguéris à la pratique de la Programmation Orientée Objet pour développer des applications Web en utilisant le framework Symfony 1.4 et l'ORM Doctrine 1.2.
Publics cible
Tout développeur Web maîtrisant le langage PHP dans sa version 5, ayant parfaite connaissance des notions basiques de la Programmation Orientée Objet, une première expérience de la mise en œuvre du framework Symfony et/ou de l’ORM Doctrine étant un plus.
Programme
Rappels sur PHP
- Connaître les spécificité du langage PHP
- Connaître les apports de la version 5 de PHP
- Comprendre la notion de « programmation orientée objet »
- Comprendre les notions d'erreur et d'exception en PHP
- Introduction aux design patterns
Découvrir Symfony
- Comprendre le design pattern MVC (Modèle Vue Contrôleur)
- Naviguer dans l'arborescence des fichiers d'un projet Symfony
- Comprendre les notions d'Application, Module, Action
- Comprendre la notion d'environnements
- Savoir installer Symfony depuis Subversion
- Savoir utiliser la ligne de commande Symfony
- Savoir initialiser un projet, une application, un module
L'environnement de travail Symfony
- Utiliser efficacement la Web Debug Toolbar
- Configuration en cascade
- Connaître et utiliser la syntaxe YAML
- Connaître les différents fichiers de configuration (
settings.yml,app.yml,projectConfiguration.class.php, ...) - Installer des plugins : intérêt et contraintes
Contrôleur, requête, réponse et routing
- Comprendre ce que sont une URL et une méthode HTTP
- Comprendre le front contrôleur, le dispatching et les actions
- Comprendre la notion de mapping url/objet avec sfObjectRoute
- Comprendre la bidirectionnalité du routing Symfony
- Connaître et exploiter la requête, les formats, manipuler la réponse
- Envoyer des e-mails depuis un contrôleur
Le templating
- Comprendre l'intérêt des helpers
- Comprendre les limites de PHP en tant que moteur de template
- Concevoir des templates modulaires avec les partials et les slots
- Savoir mettre en en oeuvre des composants (components)
- Savoir gérer les fichiers statiques en Symfony
- Savoir utiliser le
view.ymlet les méthodes de la réponse pour modifier la vue - Connaître quelques bonnes pratiques de templating
La sécurité
- Comprendre la notion d'attaque XSS et s'en prémunir
- Comprendre la notion d'attaque CRSF et s'en prémunir
- Comprendre l'authentification et les autorisations d'accès en exploitant les credentials
- Configurer le fichier
security.yml - Comprendre l'intérêt des routes nommées
L'ORM Doctrine et son intégration dans Symfony
- Connaître la syntaxe YAML de description du modèle de données Doctrine
- Savoir connecter une application à une base de données au moyen du fichier
databases.yml - Savoir manipuler des objets métier
- Savoir écrire ses requêtes en DQL (Doctrine Query Language)
- Savoir utiliser et manipuler les accesseurs d'objet Doctrine
- Savoir gérer les relations avec Doctrine (1:1, 1:n, n:m)
L'admin generator
- Savoir initialiser un module d'administration d'objet issu de l'ORM
- Connaître les différences entre scaffolding et un admin-generator
- Savoir utiliser le fichier
generator.ymlpour modifier le code généré
La gestion des droits et la session
- Savoir stocker des informations en session et y accéder
- Gérer des messages d'alerte et d'erreur (« flashes »)
- Authentification et déconnecter les utilisateurs
- Définir les permissions d'accès
- Paramétrer les droits d'accès grâce au système de credentials
Les tâches en ligne de commande
- Intérêt d'utiliser les tâches en ligne de commande (« tasks »)
- Création d'une tâche de traitement exploitable en ligne de commande
Les tests unitaires et fonctionnels
- Comprendre l'intérêt des tests unitaires et fonctionnels
- Contrôler l'intégrité d'une API avec les tests unitaires
- Découvrir Lime, le framework de test unitaire de Symfony
- Vérifier une fonctionnalité avec les tests fonctionnels
- Vérifier un élément de page avec les sélecteurs CSS
- Automatisation des tests et mise en place d'un contrôle d'intégration continue avec HUDSON
Modalités
La formation s'effectue directement dans vos locaux, une salle équipée d'un vidéoprojecteur devant être mise à disposition pour la tenue de la formation, et les postes des stagiaires (huit stagiaires maximum) installés et configurés avec les éléments suivants :
- Serveur Web Apache en version 2.2 ou supérieure ;
- PHP en version 5.2.4 ou supérieure ;
- MySQL en version 5 ou supérieure.
Cette formation donne lieu à la mise en place d'une convention de formation et est en ce sens éligible au titre de la formation professionnelle continue. A l'issue de la formation sont délivrées les attestations de formation et feuilles d'émargement nécessaires à une éventuelle prise en charge par l'OPCA.
Pour plus de renseignements ou toute demande particulière, n'hésitez pas à prendre contact avec nous.
Prestations
ServicesUne question ?
Pour des besoins plus particuliers, n'hésitez pas à nous contacter directement.