Description
Vous étudierez dans ce cours les aspects avancés du langage PHP liés à l'authentification et aux manipulations des bases de données. L'ouverture vers les nouvelles perspectives (Web 2.0) est abordée au travers d'une introduction à Ajax et par l'utilisation de clients riches communiquant en flux XML avec le serveur. Vous utiliserez enfin quelques briques logicielles comme PEAR ou PHPLib pour optimiser vos développements.
À qui s'adresse cette formation ?
Pour qui ?Développeurs PHP ayant déjà une bonne pratique du langage en mode procédural.
Prérequis
Les objectifs de la formation
Programme de la formation
- Introduction
- Optimisation des développements par utilisation de briques logicielles.
- Développement et réutilisabilité : stratégies et enjeux.
- Programmation Orientée Objet (POO)
- Classes, propriétés, méthodes.
- Méthodes automatiques.
- Visibilité et protection.
- Constructeur, destructeur.
- Appel implicite vs explicite.
- Héritage et agrégation.
- Règles de propagation.
- Polymorphisme et typage.
- Concepts avancés de POO.
- Classe abstraite.
- Interface.
- SPL.
- Design Pattern.
- Clonage.
- Travaux pratiques Réalisation d'une classe formulaire.
- Espaces de Nommage
- Pertinence des Namespaces.
- Syntaxe de base.
- Implémentation et impacts sur le chargement.
- Travaux pratiques Modification des classes réalisées pour prise en compte d'un Namespace.
- Composer / Packagist
- Principe et enjeux.
- Le gestionnaire de dépendances Composer.
- Partager ses packages avec Packagist.
- Installation / configuration de base.
- Syntaxe des contraintes.
- Chargeur universel et PSR.
- Travaux pratiques Paramétrage et utilisation de Composer pour l'intégration et le débugage du formulaire.
- Gestion des erreurs
- Gestion des erreurs et des exceptions avec PHP.
- Création d'un gestionnaire d'erreurs.
- Bufferisation et fichiers Log.
- Travaux pratiques Réalisation d'une classe d'exception personnalisée.
- Implémentation d'un affichage bufférisé et d'un fichier Log dans la classe.
- Authentification LDAP
- Introduction.
- OpenLDAP.
- Configuration et démarrage (fichiers conf et ldif).
- Lecture.
- Connexion anonyme.
- Interrogation et récupération de données.
- Ecriture.
- Connexion administrateur.
- Formatage des données et insertion.
- Travaux pratiques Implémentation d'une classe d'authentification.
- Bases de données : passer à PDO
- La librairie PDO (PHP Data Object/API abstraite d'accès aux bases de données).
- Les avantages et inconvénients de PDO (performance, portabilité, cache.
- ).
- La gestion des transactions.
- Erreurs et gestion des exceptions.
- Sécurité : formatage des entrées et requêtes paramétrées.
- Travaux pratiques Création de classes ADO implémentant PDO en requêtes préparées et paramétrées.
- XML/DOM/XSLT
- XML.
- Format et validation.
- DOM et XPath.
- Création, analyse.
- Transformateurs XSL.
- Utilisation de XSLT.
- Travaux pratiques Création d'un siteMap Google.
- Web Services
- Présentation des web services.
- Approche REST (JSON/XML).
- Implémentation d'un client et d'un web service REST.
- Approche SOAP (WSDL).
- Créer un Web Service SOAP et son fichier de description.
- Implémentation d'un client SOAP en requêtage multiservices.
- Travaux pratiques Création de web services SOAP et requêtages croisés.
- Création de flux RSS (mode REST) sur base de flux tiers (agrégation).
- PDF et E-Mail
- Présentation des principales librairies PDF : PDFLib et FPDF.
- Opérations de base.
- Texte et mise en page.
- Opérations avancées.
- Images et tracés vectoriels.
- Mail et MIME : pièces jointes et format HTML.
- Les formats Mixed, Multipart, Alternative/Related.
- Les encodages particuliers.
- Paramétrage d'un serveur de test.
- La classe PhpMailer.
- Travaux pratiques Mise en oeuvre d'une librairie FPDF pour la génération automatisée d'un rapport.
- Réalisation d'une classe xMail pour l'envoi de mails au format mime.
- Utilisation de la classe créée pour l'envoi d'une facture PDF en pièce jointe.