Bonsoir à tous.
Je suis en train de réfléchir à une architecture objet me permettant de faire de la réflexion d'une base de données MySQL. L'idée est de pouvoir fournir aux couches métier et présentation un visuel sur l'état de la base de données tant en termes de structure que de données. Ne me demandez pas pourquoi, on dira simplement que je travaille dans un contexte ou je n'ai pas le contrôle sur les base de données avec lesquelles travaillent mon application.
Actuellement, si on prends le cas d'école "produit", je dispose d'un modèle sous forme de classe Product, d'un métier ProductManager, d'un agrégateur Products, d'un contrôleur ProductsController et de plusieurs templates de vues (edit, list et view). Le problème est que (trop) souvent, d'autres développeurs dont les application adressent également les bases de données changent le schéma, ce qui à pour incidence de revisiter une bonne partie des classes sus-nommées.
Là ou je souhaite arriver c'est fournir un composant capable de faire de la réflexion sur les tables, les vues, les procédures et les databases - c'est à dire d'en connaitre le schéma, les intrications entre les entités, les relations etc.
La définition des besoins fait apparaître la nécessité de reproduire le mécanisme des Reflector de PHP 5. Ma question est alors la suivante:
est-il envisageable d'écrire une série de classes qui réalisent l'interface Reflector ?
ORM et Frameworks s'abstenir, je n'en veux pas.
Partager