Approche objet dans un contexte Web
- Expression initiale des besoins et exigences.
- Cas d'utilisation et processus unifié simplifié.
- UML : diagrammes de séquences et de classes.
- Présentation des IHM.
Réflexion collective
Sur la base d'un cahier des charges, définir les objets de l'application à réaliser.
Concepts de base de l'implémentation Objet
- Eclipse : un IDE adapté à la POO en PHP.
- Définir une classe et la générer à partir d'UML.
- Espaces de nommage PHP.
- Instancier une classe.
- Propriétés, statiques et constantes : This, Self et ORP.
- Visibilité et protection. Accesseurs, mutateurs et surcharge selon PHP.
- Constructeur et destructeur.
- Maîtriser l'instanciation : Factory et Singleton.
Travaux pratiques
Depuis un logiciel UML, concevoir et générer les classes participantes.
POO : concepts avancés et apports de PHP5
- Typage Objet et interfaces.
- Les interfaces de la librairie standard (SPL).
- Egalités et tris d'objets, Design Pattern Strategy.
- Référence, clonage, héritage, agrégation et association.
- Polymorphisme, collections et Design Pattern Iterator.
- Classes abstraites et finales. Les traits.
Travaux pratiques
Implémentation de classes mettant en œuvre les concepts avancés.
Persistance des objets
- Export et auto-sérialisation.
- Enregistrement en base de données et en session.
- JSON pour les requêtes client asynchrones.
- Transmission http.
Travaux pratiques
Classes pour la persistance des données. Accès asynchrone depuis une interface Ajax-XHR.
Refactoring MVC
- Chargement des classes : automatique ou paramétré.
- Classes ADO, modèle, vue. Gestion des fichiers.
- Les exceptions : gestion d'erreur orientée objet.
Travaux pratiques
Mise en œuvre du design pattern Chaîne de Responsabilité. Refactoring du projet en MVC.
Rétro-ingénierie
- Introspection et classe Reflection.
- Framework de librairies PEAR.
- Outils de documentation.
- XMI et diagrammes de classes.
Travaux pratiques
Générer les fichiers XMI pour l'ensemble des classes du projet et visualiser les diagrammes UML.