PhpMyObject Roadmap
Date de publication : 1/09/2007 , Date de mise à jour : 29/12/2007
Par
Nicolas BOITEUX
Ce document présente la roadmap de développement du projet PhPmyObject.
I. Introduction
II. Le périmètre de développement du core PMO
III. Comment ?
IV. Les fonctionnalités à implémenter
V. Dates prévisionnelles
VI. Quelques principes d'architecture
Bienvenue sur la roadmap de développement du projet PMO!
I. Introduction
PMO est une API qui permet de créer une couche d'abstraction objet entre les SGBD et les applications PHP.
Ce document décrit les objectifs de PMO, les différentes étapes de développement que traversera le projet.
A quelles dates seront délivrées les nouvelles versions, quel est le périmètre de développement.
II. Le périmètre de développement du core PMO
Le but est de fournir une couche d'abstraction Objet entre une application PHP et le SGBD.
Le développement du core de PMO se concentre sur ces aspects fonctionnels:
- encapsuler des données provenant d'un SGBD dans un type de classes défini par l'utilisateur
- décapsuler des données provenant d'un objet et en les renvoyant dans le SGBD
- proposer des méthodes pour accéder à ces objets.
III. Comment ?
En fournissant une interface de programmation souple qui s'adapte à l'architecture logicielle des utilisateurs.
En ce sens, PMO n'est pas un framework et n'a pas vocation à le devenir. PMO doit être facilement intégrable dans l'existant.
PMO doit également être modulaire et permettre le remplacement de chacun de ces composants par d'autres composants sans
altérer le bon déroulement de l'API.
IV. Les fonctionnalités à implémenter
| Fonction |
Details |
Version attendue |
| Multi primary key |
Gestion des tables avec plusieurs clefs primaires |
0.9 done |
| Gestion des quotes |
Protection contre les injections SQL avec des caractères d'échappements |
0.9 done |
| Type de variables |
Récupération des types de variables provenant des SGBD et conversion dans un type générique |
0.9 done |
| Parser SQL |
Amelioration du Parser gestion des espaces entre les champs |
0.10 cancel |
| Classe des exceptions |
Creation d'une classe pour recueillir les exceptions |
0.10 not done |
| exceptions SGBD |
Traitement des exceptions remontées par le SGBD |
0.10 done |
| Parser SQL |
Gestion des select uniquement sur les colonnes et non plus sur les * |
0.13 done |
| Casting |
Gestion du casting au moment du set des variables |
0.11 not done |
| Class loader |
Le class loader doit utiliser des classes explicitement désignés par l'utilisateur |
0.12 done |
| Abstraction SGBD |
Création d'un Mappage contenant un alias des noms colonnes défini par l'utilisateur |
0.11 done |
| Schema SGBD |
Cache du schéma des tables et des classes |
0.11 done |
V. Dates prévisionnelles
Les dates prévisionnelles de sortie des différentes versions. Ce calendrier est succeptible d'évoluer en fonction des fonctionnalitées rajoutées ou des problèmes rencontrés.
| Version |
Date attendue |
| 0.13 |
2 fevrier 2008 |
VI. Quelques principes d'architecture
Ces différents points sont des choix d'architecture dont vous pouvez trouver l'explication sur la liste de diffusion.
- Utilisation de requête SQL explicite à la place d'un générateur de requête SQL
- Utilisation systématique des interfaces pour chaque classe
- Utilisation tant que possible des interfaces passés dans les paramêtres de méthodes


Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur.
La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.