PHP
Intermédiaire

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.

Symfony and PHP with an elephant and 2 stars on a purple background

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

Télécharger la brochure (PDF)

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

  1. Evaluation de la pédagogie : 10/10

  2. Evaluation du contenu : 9/10

  3. Evaluation du rythme : 9,3/10

  4. 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.

  • Retrouvez notre charte d'accessibilité

  • 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 Zaslavsky

Besoin de plus d'informations ?

Visitez notre page de contact pour découvrir d'autres façons de nous contacter.

+33(0)1 86 65 72 00

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

Symfony 8 with a rocket and a star on a green background
Symfony
Débutant

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
Symfony 7 with a rocket and a star on a green background
Symfony
Débutant

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
Symfony 8 with a rocket taking off and two stars on a green background
Symfony
Intermédiaire

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
Symfony 7 with a rocket taking off and two stars on a green background
Symfony
Intermédiaire

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
Symfony 8 with a globe and a mouse on a green background with a star
Symfony
Débutant

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
Symfony 7 with a globe and a mouse click on a green background with a star
Symfony
Débutant

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
Symfony with a globe and a rocket on a green background with stars
Symfony
Avancé

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
Symfony 8 with a graduation cap and stars on a green screen
Symfony
Intermédiaire

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 8