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.