
À propos de cette formation
Cette formation de perfectionnement en PHP aborde les concepts objet avancés, la gestion des dépendances avec Composer, l'authentification LDAP, la persistance des données avec PDO, les échanges XML/DOM/XSLT, les services web SOAP et REST, ainsi que la génération de PDF et l'envoi de mails au format MIME.
Objectifs de la formation
- Maîtriser les concepts avancés de la programmation orientée objet en PHP
- Gérer les dépendances d'un projet PHP avec Composer
- Mettre en œuvre une authentification via LDAP
- Accéder aux bases de données avec la librairie PDO
- Créer et consommer des services web SOAP et REST
- Implémenter l'envoi de mails et la génération de documents PDF
Programme détaillé
Module 1 — Introduction
- Optimisation des développements par l'utilisation de briques logicielles
- Stratégies et enjeux de la réutilisabilité dans le développement PHP
- Introduction à l'asynchronisme : les fibres en PHP
Module 2 — Programmation Orientée Objet (POO)
- Classes, propriétés, méthodes et méthodes automatiques
- Visibilité, protection et déclaration des propriétés dans le constructeur
- Constructeur et destructeur : appels implicite et explicite
- Héritage, agrégation, règles de propagation, polymorphisme et typage
- Concepts avancés : classes abstraites, interfaces, SPL et Design Patterns
- Clonage d'objets et attributs (métadonnées structurées)
- Travaux pratiques : réalisation d'une classe formulaire
Module 3 — Espaces de nommage
- Intérêt et pertinence des namespaces
- Syntaxe de base et implémentation
- Impact des namespaces sur le chargement des classes
- Travaux pratiques : adaptation des classes créées pour intégrer un namespace
Module 4 — Composer/Packagist
- Présentation de Composer et de ses enjeux
- Installation et configuration de base
- Partage de packages avec Packagist
- Syntaxe des contraintes de dépendances
- Chargeur universel et standards PSR
- Travaux pratiques : paramétrage de Composer et débogage d'une classe formulaire
Module 5 — Gestion des erreurs
- Gestion des erreurs et des exceptions en PHP
- Création d'un gestionnaire d'erreurs personnalisé
- Bufférisation de sortie et journalisation (fichiers Log)
- Travaux pratiques : classe d'exception personnalisée, affichage bufférisé et fichier Log
Module 6 — Authentification LDAP
- Introduction à LDAP et présentation d'OpenLDAP
- Configuration et démarrage (fichiers conf et ldif)
- Lecture : connexion anonyme, interrogation et récupération de données
- Écriture : connexion administrateur, formatage et insertion des données
- Travaux pratiques : implémentation d'une classe d'authentification LDAP
Module 7 — Bases de données : passer à PDO
- La librairie PDO : API abstraite d'accès aux bases de données
- Avantages et inconvénients de PDO : performance, portabilité et cache
- Gestion des transactions avec PDO
- Gestion des erreurs et exceptions PDO
- Sécurité : formatage des entrées et requêtes paramétrées
- Travaux pratiques : classes ADO avec PDO en requêtes préparées et paramétrées
Module 8 — XML/DOM/XSLT
- XML : format et validation
- DOM et XPath : création et analyse de documents
- Transformateurs XSL et utilisation de XSLT
- Travaux pratiques : création d'un sitemap Google
Module 9 — Web Services
- Présentation des services web
- Approche REST : JSON/XML, implémentation d'un client et d'un service REST
- Approche SOAP : WSDL, création d'un service et de son fichier de description
- Implémentation d'un client SOAP en mode multirequêtes
- Travaux pratiques : services SOAP et requêtes croisées, flux RSS en mode REST
Module 10 — PDF et email
- Librairies PDF : PDFLib et FPDF — opérations de base et avancées
- Texte, mise en page, images et tracés vectoriels en PDF
- Mail et MIME : pièces jointes et format HTML
- Formats MIME : Mixed, Multipart, Alternative/Related et encodages
- Paramétrage d'un serveur de test et utilisation de PhpMailer
- Travaux pratiques : génération d'un rapport PDF avec FPDF et envoi d'une facture PDF par mail
Prérequis
Maîtriser le PHP ou justifier d'un niveau équivalent à la formation "PHP, développer un site Web dynamique".