PHP avancé : objet, MVC et web services
Structurer une application PHP professionnelle : architecture MVC, PDO, ORM, services REST et bonnes pratiques.
- Durée
- 35 h · 5 jours
- Niveau
- Intermédiaire
- Format
- Présentiel · Distanciel · Mixte
- Effectif max.
- 12 participants
Présentation
Ce programme guide les développeurs PHP vers une architecture professionnelle. Les participants approfondissent la programmation objet, organisent le code en MVC avec des espaces de noms, abstraient l’accès aux données avec PDO puis un ORM, et exposent des web services. La dernière journée traite de sécurité, de débogage, de bibliothèques tierces et de l’aide apportée par l’IA.
À qui s’adresse ce programme
- Développeurs PHP en poste
- Développeurs qui préparent l’entrée dans un framework
- Équipes qui refactorisent une application legacy
Prérequis
- Pratique des bases de PHP
- Notions de SQL
Objectifs pédagogiques
- Concevoir des classes bien structurées en PHP
- Organiser une application en MVC avec espaces de noms et autoload
- Utiliser PDO et un ORM pour mapper des objets
- Créer et consommer des services web REST
- Sécuriser et déboguer une application
- Utiliser Composer et des bibliothèques tierces
Programme détaillé
10 modules · 35 h · 5 jours
Objet en PHP : approfondissement
- Classes, interfaces et traits
- Classes abstraites et polymorphisme
- Méthodes magiques
- Typage fort et énumérations
- Gestion des exceptions
Principes de conception
- Responsabilité unique et couplage faible
- Injection de dépendances
- Design patterns courants en PHP
- Composer et chargement automatique PSR-4
- Revue d’un code legacy
Remanier un script procédural en classes.
Espaces de noms et architecture MVC
- Namespaces et organisation des dossiers
- Contrôleurs, modèles et vues
- Routeur et front controller
- Templates
- Gestion de la configuration
Construire pas à pas un petit noyau MVC.
Formulaires et validation
- Validation centralisée
- Messages d’erreur et formulaires réutilisables
- Protection CSRF
- Gestion des fichiers téléversés
- Tests manuels et automatisés
Accès aux données avec PDO
- Couche d’abstraction avec PDO
- Dépôts (repositories)
- Transactions et gestion d’erreurs
- Requêtes complexes et jointures
- Performances : index et requêtes N+1
Écrire des dépôts pour les entités du projet.
Découverte d’un ORM
- Principe du mapping objet-relationnel
- Entités, annotations et attributs
- Relations entre entités
- Requêtes avec l’ORM
- Migrations
ORM : cas pratiques
- Repositories personnalisés
- Gestion des collections
- Événements du cycle de vie
- Jeux de données de test
- Comparaison PDO / ORM
Modéliser un domaine métier avec l’ORM.
Services web : REST et autres formats
- Principes REST
- Concevoir des endpoints
- Sérialisation JSON
- Authentification d’une API
- Panorama SOAP et JSON-RPC
Exposer les entités du projet en API REST.
Sécurité et débogage
- Injections SQL, XSS et CSRF
- Gestion des mots de passe et des sessions
- Débogage avec Xdebug
- Journalisation
- Check-list de sécurité
Bibliothèques tierces, IA et finalisation
- Génération de PDF et manipulation d’images
- Envoi d’e-mails
- Assistants d’IA pour générer et relire du code
- Bonnes pratiques de déploiement
- Revue finale du projet
Présenter et défendre les choix techniques du projet.
Outils et technologies
Méthodes pédagogiques
- Alternance d’exposés courts et de travaux pratiques
- Démonstrations en direct par le formateur
- Projet fil rouge construit au fil des modules
- Corrections collectives et échanges sur les bonnes pratiques
Évaluation
- Exercices pratiques corrigés à chaque module
- Mini-projet réalisé en fin de formation
- Quiz de validation des acquis
Matériel requis
- Un ordinateur avec une connexion internet
- Un serveur local PHP/MySQL et Composer installé
Ressources fournies
- Support de cours et dépôt d’exercices corrigés
Débouchés
- Une application MVC maison propre
- Les bases pour comprendre les frameworks modernes
- Une API REST en PHP
Les cours vidéo associés
Mes cours en vidéo qui accompagnent ce programme : pour préparer la formation ou réviser ensuite. Accès gratuit avec un compte.


