Introduction
- Optimisation des développements par utilisation de briques logicielles.
- Développement et réutilisabilité : stratégies et enjeux.
- Un zeste d'asynchrone : les fibres en PHP.
Programmation Orientée Objet (POO)
- Classes, propriétés, méthodes. Méthodes automatiques.
- Visibilité et protection.
- Constructeur, destructeur. Appel implicite versus explicite.
- La déclaration des propriétés dans le constructeur.
- Héritage et agrégation. Règles de propagation. Polymorphisme et typage.
- Concepts avancés de POO. Classe abstraite. Interface. SPL. Design Pattern. Clonage.
- Les attributs : métadonnées structurées.
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ébogage du formulaire.
Gestion des erreurs
- Gestion des erreurs et des exceptions avec PHP.
- Création d'un gestionnaire d'erreurs.
- Bufférisation 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 email
- 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 œuvre 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.