Korko Fain : la question sur le jugement de pratique d'echo est bien plus dans le sujet que la question de son utilisation (à ne jammais utiliser selon moi).
Je fais toutes sortes de classe, une rigolote (décorateur) que je viens de terminer pour pouvoir utiliser PEAR dans mon framework : http://pastebin.ca/496851
Au sujet des modèles, j'utilise une classe par objet et pas une classe par table (ce que fais symfony à ce que j'en ai vu pour l'instant) : l'interêt de la classe que je fais étant d'interfacer entre les données d'un objet éclaté en multiples tables avec seulement un seul objet.
Cette classe ne renvoie que des données, j'ai voulu y ajouter des fonctionnalités utilisables directement en smarty alors j'ai fait une autre classe qui étend la première.
Quant à l'usage d'une classe d'abstraction de base de données, c'est selon moi indispensable et personne ne devrait jammais coder sans, ne serait-ce qu'à cause de mysql et mysqli.
Autre argument sur 'bien coder en php', j'en avais oublié un indispensable : toujours laisser le crédit où il est du !