Maîtrise de la Programmation Orientée Objet avec PHP 8 et les Design Patterns (PHPC2)
3 jours
€ 1 590,00
Où souhaitez-vous vous former ?
Sélectionnez votre localisation ci-dessus pour découvrir les sessions près de chez vous.
La programmation orientée objet est à la base de tous les frameworks PHP. Que ce soit Symfony, Laravel ou Drupal, ils partent tous du principe que vous savez lire, étendre et concevoir une hiérarchie de classes. Pendant 3 jours, cette formation vous conduit des classes et de l'encapsulation aux modèles de design et aux tests garantissant la maintenabilité d'une base de code orientée objet. Au lieu d'étudier des exemples isolés, vous construisez et affinez progressivement un projet unique : votre propre répartiteur d'événements, qui correspond à une implémentation classique du modèle Observer.
Niveau : Intermédiaire
Durée : 3 jours
Langues disponibles : anglais, français, allemand
Prérequis :
Les participants doivent maîtriser le code PHP procédural (variables, tableaux, structures de contrôle et fonctions).
Aucune expérience préalable en programmation orientée objet n'est requise, mais une connaissance de base des classes est un plus.
Objectifs pédagogiques :
Modéliser un domaine à l'aide de classes, de l'encapsulation, de l'héritage et des interfaces
Utiliser le système de types de PHP pour rendre les états non valides non représentables
Organiser un projet comportant plusieurs fichiers à l'aide des espaces de noms, de l'autochargement PSR-4 et de Composer
Gérer les échecs à l'aide de la hiérarchie des exceptions, et étendre les classes avec des traits et des attributs
Choisir la relation entre classes la plus adaptée à une conception donnée et isoler les données immuables dans des objets de valeur
Appliquer les principes SOLID et les modèles courants du GoF à du code réel
Écrire des tests unitaires isolés avec PHPUnit, des doublures de test et des fournisseurs de données
Modalités d'évaluation :
Les connaissances sont évaluées tout au long de la formation et à la fin de celle-ci à l'aide de questions à choix multiples. Un certificat de réussite est délivré en cas de réussite, accompagné d'un justificatif de présence. Les participants bénéficient d'un accès d'un mois à la plateforme de révision en ligne pour continuer à s'exercer.
Jour 1 - Les bases de la programmation orientée objet
Matin - Du code procédural aux objets
Choix d’un environnement de développement : PhpStorm ou VS Code
Le modèle objet de PHP, version par version, jusqu’aux attributs, aux énumérations et aux classes readonly
Le paradigme orienté objet face au code procédural
Les normes PSR : conventions de nommage, PSR-4, interfaces partagées
Les classes et les objets : modèles, new et $this
L'encapsulation : public, protected et private
Les constructeurs et les destructeurs
Après-midi - Types, héritage et réutilisation du code
Les propriétés modernes : la promotion par le builder, le readonly, les hooks, la visibilité asymétrique
Le système de types : les scalaires, les énumérations, les types d'union et d'intersection, les types nullables, never
Sémantique par valeur ou par référence, et pourquoi les objets se comportent toujours comme des références
L'héritage avec extends : redéfinition, final, parent::, self
Le principe de substitution de Liskov, covariance et contravariance
Membres statiques et constantes de classe : self versus static
Les interfaces et les classes abstraites
Traits, et résolution des conflits avec insteadof et as
Les espaces de noms : déclaration, résolution de noms et importations avec `use`
Jour 2 - Organisation et hardening d'une base de code
Matin - Gestion des dépendances, métadonnées et gestion des erreurs
Chargement automatique avec spl_autoload_register et mappage des chemins PSR-4
Composer : composer.json, contraintes de version, require-dev, composer.lock
Chargement automatique avec Composer : enregistrement des espaces de noms, dump-autoload, chargeurs automatiques optimisés
Les attributs PHP : attributs intégrés, création de vos propres attributs, restriction des cibles
Lecture des attributs à l'exécution avec la réflexion
Exceptions et erreurs : Throwable, \Exception par opposition à \Error, finally
Après-midi - Callables, SPL et class design
Closures et fonctions fléchées : capture de la portée avec use
Toutes les formes acceptées par PHP en tant que callable
Les arguments nommés et la syntaxe des callables de première classe
Diagrammes de classes UML, introspection à l’exécution et les quatorze méthodes magiques
Structures de données SPL : SplStack, SplQueue, SplHeap
ArrayAccess et Countable sur vos propres objets
Les six relations entre classes, de l’héritage à la dépendance
Les objets de valeur et le DTO : immuabilité, validation par le constructeur et contraste avec les entités
Jour 3 - Les modèles de design et les tests unitaires
Matin - SOLID et les modèles de design
Qu'est-ce qu'un modèle de conception, et quelle est la place du catalogue GoF ?
Les 5 principes SOLID
L'injection de dépendances : recevoir des collaborateurs au lieu de les créer
Les modèles structurels : Proxy, Adaptateur, Décorateur, Usine
Pourquoi l'agrégation évite l'explosion du nombre de classes
Les modèles comportementaux : Itérateur, et les générateurs en tant qu'itérateurs paresseux
Observateur avec SplSubject et SplObserver, pris en charge par votre propre distributeur d’événements
Stratégie : permutation d’algorithmes à l’exécution
Après-midi - Les tests unitaires
Les 4 types de tests et les propriétés F.I.R.S.T. d’un bon test unitaire
Arrange-Act-Assert, et les « odeurs » qui apparaissent lorsque les phases se confondent
PHPUnit : installation, structure des tests, assertions
Le cycle de vie des tests : setUp(), tearDown() et isolation par test
Les doubles de test : dummies, stubs, mocks, fakes et spies
Création de mocks : createMock(), attentes, contraintes d’arguments
Fournisseurs de données : une méthode de test, plusieurs ensembles d’entrées
Moyenne globale : 9,4/10
Evaluation de la pédagogie : 10/10
Evaluation du contenu : 9/10
Evaluation du rythme : 9,3/10
Taux de réussite : 67 %
Les notations sont la synthèse des appréciations cumulées de nos stagiaires du 01/01/2025 au 31/12/2025
Une commande doit être formulée via le formulaire d’inscription sur notre site, par email à training@sensiolabs.com ou par téléphone.
L’inscription sera définitive après réception du devis signé et d’un paiement intégral ou d’un accord de prise en charge d’un OPCO, avant le début de la formation.
Apprenant en situation de handicap, nous sommes à vos côtés pour identifier les aménagements, les modalités et les supports pédagogiques ou les aides humaines les plus adaptés. Pour plus d’informations, contactez notre référent handicap : laurent.vaquette@sensiolabs.com / 01 86 65 72 25
Rencontrez nos formateurs
Alexander M. Turek
CTO de SensioLabs Allemagne
Diplômé en informatique, je programme en PHP depuis plus de 25 ans. Je mets cette expérience au service des équipes de développement que j'accompagne, en les aidant à écrire de meilleurs logiciels. En tant que membre des Core Teams de Symfony et Doctrine, je contribue à façonner certains des outils les plus utilisés de l'écosystème. J'aime le code qui a vieilli comme un bon whisky.
Voir les détails : Alexander M. Turek
Stiven Llupa
Expert Technique
Stiven Llupa est un développeur avec plus de 15 ans d'expérience, presque exclusivement avec PHP, et plus de 10 ans avec le framework Symfony. Au-delà de la programmation, il est apprécie d'échanger avec d'autres développeurs.
Voir les détails : Stiven Llupa
Guillaume Loulier
Expert Technique
Développeur certifié Symfony (3, 4, 5, 6, 7 et 8) chez SensioLabs, Guillaume Loulier intervient depuis de nombreuses années lors de conférences techniques. Il forme également des développeurs à Symfony et est un ancien mentor OCFrance. Il est passionné de sport automobile.
Voir les détails : Guillaume Loulier
Benjamin Zaslavsky
Formateur Symfony et PHP
Développeur autodidacte, Benjamin Zaslavsky est consultant formateur certifié sur Symfony 6 et 7. Il est passionné par la transmission de connaissances, le mentoring et tout ce qui peut faciliter la vie des développeuses et développeurs.
Voir les détails : Benjamin ZaslavskyBesoin de plus d'informations ?
Visitez notre page de contact pour découvrir d'autres façons de nous contacter.
Notre service client est à vôtre écoute du Lundi au Vendredi de 9h à 17h.
info@sensiolabs.com
Envoyez-nous un email et nos équipes reviendront vers vous dès que possible.
Cours recommandés
Découvrir Symfony 8
Cette formation constitue le point de départ idéal pour les développeurs qui veulent apprendre à créer des applications web avec Symfony. En trois jours, vous passerez de l'installation du framework à la création d'une application entièrement fonctionnelle intégrant des pages dynamiques, une base de données, des relations entre entités et des formulaires HTML, tout en suivant les bonnes pratiques officielles définies par le créateur de Symfony. Le programme combine des sessions animées par un formateur certifié et un accès d'un mois à la plateforme de e-learning pour poursuivre la mise en pratique et ancrer les compétences.
Voir les détails : Découvrir Symfony 8
Découvrir Symfony 7
Cette formation est le meilleur point de départ pour vous préparer à utiliser les outils et les fonctionnalités avancées du framework Symfony 7 avec ses créateurs. SensioLabs University a conçu la meilleure expérience de formation Symfony en associant formation en présentiel et e-learning. En complément de la formation en présentiel, l'accès à notre plateforme de révision en ligne pendant 1 mois, permet d’associer différentes pratiques d’apprentissage, de tester ses compétences, de suivre sa progression et de rester en contact avec son formateur tout au long du programme. Cette formation vous aidera à démarrer avec Symfony 7, tout en vous permettant d'apprendre les « bonnes pratiques officielles » et les meilleures astuces d’experts Symfony. Les sessions sont dispensées en présentiel et en distanciel simultanément. À vous de choisir ce qui vous convient le mieux.
Voir les détails : Découvrir Symfony 7
Approfondir Symfony 8
Cette formation, qui fait suite à « Découvrir Symfony », aborde des thèmes de niveau intermédiaire afin de rendre une application Symfony prête à être déployée en production. Pendant deux jours, vous mettrez en œuvre l'authentification, les autorisations granulaires, les fonctionnalités de recherche et la modélisation des processus métier. Vous paracheverez ensuite l'application à l'aide de techniques d'optimisation de niveau professionnel. Le programme combine des sessions animées par un formateur et un accès d'un mois à la plateforme de révision en ligne pour permettre de poursuivre la mise en pratique.
Voir les détails : Approfondir Symfony 8
Approfondir Symfony 7
Cette formation qui fait suite au cours « Découvrir Symfony 7 » vous aidera à acquérir les concepts-clés d'un projet dans son ensemble. SensioLabs University a conçu la meilleure expérience de formation Symfony, en associant le présentiel et le e-learning. En complément de la formation en présentiel, l'accès à notre plateforme de révision en ligne pendant 1 mois, permet d’associer différentes pratiques d’apprentissage, de tester ses compétences, de suivre sa progression et de rester en contact avec son formateur sur toute la durée du programme. Les formations sont données en présentiel et en distanciel en même temps. A vous de choisir ce qui vous convient le mieux.
Voir les détails : Approfondir Symfony 7
Développement Web avec Symfony 8
Cette formation officielle de cinq jours, entièrement consacrée à Symfony, est la plus complète pour maîtriser les concepts fondamentaux et les composants avancés de Symfony 8. Elle s'adresse à tous ceux qui souhaitent acquérir une connaissance approfondie du framework afin de pouvoir l'utiliser de manière autonome. Que vous soyez débutant ou que vous souhaitiez mettre à jour vos connaissances, cette formation est le meilleur moyen d'acquérir une vue d'ensemble détaillée de Symfony.
Voir les détails : Développement Web avec Symfony 8
Développement Web avec Symfony 7
Cette formation officielle de cinq jours, entièrement consacrée à Symfony, est la plus complète pour maîtriser les concepts fondamentaux et les composants avancés de Symfony 7. Elle s'adresse à tous ceux qui souhaitent acquérir une connaissance approfondie du framework afin de pouvoir l'utiliser de manière autonome. Que vous soyez débutant ou que vous souhaitiez mettre à jour vos connaissances, cette formation est le meilleur moyen d'acquérir une vue d'ensemble détaillée de Symfony.
Voir les détails : Développement Web avec Symfony 7
Maîtriser Symfony
Cette formation s'adresse aux développeurs qui maîtrisent déjà Symfony et souhaitent aborder ses fonctionnalités les plus avancées. Pendant cinq jours, vous explorerez les composants et modèles les plus puissants du framework, de la messagerie asynchrone à la sérialisation avancée, en passant par la création de bundles et l'injection de dépendances complexes. Vous acquerrez ainsi une expertise directement transposable dans des applications en production. Le programme allie des sessions animées par un formateur et un accès d'un mois à la plateforme de révision en ligne, afin de permettre une pratique continue.
Voir les détails : Maîtriser Symfony
Préparation à la certification Symfony 8
La meilleure façon de devenir un développeur Symfony certifié est d'étudier avec ses créateurs ! Nous couvrirons tous les sujets principaux de l'examen de Symfony 8. Cet atelier est idéal pour ceux qui ont déjà un excellent niveau et qui souhaitent tester et renforcer leurs compétences avant de passer l'examen de certification officiel.
Voir les détails : Préparation à la certification Symfony 8Maîtrise de la Programmation Orientée Objet avec PHP 8 et les Design Patterns (PHPC2)
3 jours
€ 1 590,00
Où souhaitez-vous vous former ?
Sélectionnez votre localisation ci-dessus pour découvrir les sessions près de chez vous.
Si aucune date ne vous convient, n’hésitez pas à nous contacter