Pratique de MySQL et PHP- P59:Quand la première édition de ce livre est parue, en janvier 2001, la réputation de MySQL et de PHP était déjà bien établie. Ces deux outils étaient connus pour être fiables, performants, pratiques et bien adaptés à une utilisation très spécialisée : la production dynamique de pages HTML. | 268 Chapitre 6. Architecture du site le pattern MVC Nous allons reprendre la classe générique IhmBD déjà présentée partiellement dans le chapitre 3 consacré à la programmation objet voir page 167 et l étendre dans l optique d un Modèle MVC aux aspects propres à la recherche et à la mise à jour de la base. Elle s appellera maintenant TableBD. Le tableau donne la liste des méthodes génériques assurant ces fonctions ce tableau est complémentaire de celui déjà donné page 170 . Tableau Les méthodes d interaction avec la base de la classe TableBD Méthode Description nouveau données Création d un nouvel objet. chercherParCle clé Recherche d une ligne par clé primaire. contrôle 0 Contrôle les valeurs avant mise à jour. insertion données Insertion d une ligne. maj données Mise à jour d une ligne. Conversion des données de la base vers une instance de TableBD La classe ou plus exatement les objets instance de la classe vont nous servir à interagir avec une table particulière de la base de données. Le but est de pouvoir manipuler les données grâce aux méthodes de la classe en recherche comme en insertion. La première étape consiste à récupérer le schéma de la table pour connaître la liste des attributs et leurs propriétés type ou contraintes de clés et autres . Il faut aussi être en mesure de stocker une ligne de la table avant une insertion ou après une recherche. Pour cela nous utilisons deux tableaux pour le schéma et pour les données. protected schema array Le schéma de la table protected donnees array Les données d une ligne La déclaration protected assure que ces tableaux ne sont pas accessibles par une application interagissant avec une instance de la classe. En revanche ils peuvent être modifiés ou redéfinis par des instances d une sous-classe de TableBD. Comme nous le verrons TableBD fournit des méthodes génériques qui peuvent être spécialisées par des sous-classes. Pour obtenir le schéma d une table nous avons deux solutions soit l indiquer explicitement en