Public visé
Programmeurs, responsables informatique, développeurs d’applications et spécialistes de bases de données.
Prérequis
Avoir des connaissances pratiques de base sur PHP.
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Coder en objet en PHP
- Structurer une architecture MVC
- Mapper des objets avec PDO et l’ORM Doctrine
- Créer des Web Services REST
- Déterminer les bonnes pratiques
Programme
Jour 1 - Matin
La programmation objet en PHP
- Classes, objets, méthodes et propriétés
- Visibilité des attributs
- Le constructeur
- L’héritage et les interfaces
- Les traits
- Gestion des exceptions en PHP objet
- Apports de PHP 8 pour les classes et fonctions
- Les classes Weak Map
- L’interface Stringable
- Fonctions str_contains, starts_with, ends_with
- Nouvelles API d’accès au DOM
Jour 1 - Après-midi
Travaux pratiques
- Conception d’une architecture de programme incluant des classes
- Création de classes intégrant des propriétés et des méthodes
- Ajout de la visibilité des attributs
- Ajout de l’héritage
- Conception d’interfaces et exploitation du polymorphisme
- Création de composants clients
- Ajout d’un traitement des exceptions
Jour 2 - Matin
Les espaces de nommage
- Avantages et impacts sur le code
Conception MVC
- Séparation des attributions entre scripts
- La couche modèle et données
- Le rôle du contrôleur
- Le rôle des vues
- Force de l’objet dans le modèle MVC
Jour 2 - Après-midi
Travaux pratiques
- Modification du projet précédent pour l’intégrer dans un modèle MVC
- Création du composant contrôleur et des vues
- Ajout d’un routage simple
Jour 3 - Matin
Couche d’accès aux données
- La couche d’abstraction PDO
- Limites de PDO
- Mapping objet relationnel et Data Access Layer
Jour 3 - Après-midi
Étude d’un ORM
- Création des classes entités
- Les fichiers de configuration
- Les annotations
- Le mode “commande”
- Génération de la base
- Gestion des identifiants
- Génération des requêtes
- Mapping sur base existante
- Lazy loading et associations
Jour 4 - Matin
Utilisation d’un ORM comme Doctrine
PHP et les services Web
- Introduction aux services Web
- Rappels XML
- Présentation de SOAP
- SoapServer et SoapClient
- Présentation de REST
- Écriture d’un Web Service REST
- Choisir SOAP ou REST
- Manipulation de JSON en PHP
- Présentation de JSON-RPC
- Comparatif de JSON-RPC avec REST
Jour 4 - Après-midi
Travaux pratiques
- Création d’un programme serveur de Web Service REST et d’un client
Jour 5 - Matin
Sécurité
- Configuration de PHP
- Safe mode
- Configuration de MySQL
- XSS et Injections
Bonnes pratiques de développement en PHP
- Débogage et profiling
- Mise en cache et compression
- Pistes pour les performances
- Les solutions de codage à retenir
Présentation de bibliothèques tiers
- FPDF
- GD
Les apports de l’IA
- Présentation d’outil IA de génération de code
- Quels prompts utiliser pour générer du code PHP
- Les limites de l’IA dans la génération de code
Jour 5 - Après-midi
Conclusion et synthèse
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d’auto-évaluation