Quand tu dis templates tu parles de vues? Les vérifications etc, tu les fais sur quel page (exemple les isset/empty etc) ? Parce qu'admettons que tu dois afficher un message d'erreur, tu devrais le renvoyer vers la page d'affichage.
Pour le principe de base je fonctionne pareil sur base d'includes selon la section.
A vrai dire j'ai essayé de faire il y a quelques semaines une automatisation des requêtes, j'entends par là de ne plus taper le SQL mais de le générer. Ca m'aide mais le fait que ça soit plus automatique me pose un soucis au niveau vérification (en gros tout les champs sont pris tel quel, donc on ne distingue pas le texte de l'email quoi).
En gros avant je faisais ça si tu veux:
$sql = 'SELECT id, nom, prenom FROM membres WHERE id = 1';
$rs = mysql_query($sql);
$r = mysql_fetch_assoc($rs);
echo $r['nom'];
Avec ce que j'ai fais ça deivent:
$sql = read(1, 'membres');
echo $sql['nom'];
Bon là l'utilité n'est pas très implicite mais par contre quand tu as des formulaires qui renvoient 15 champs à insérer, ça aide.
Et puis aussi, le jour où je décides de changer un truc, je change mes fonctions et tout le site s'adapte au niveau des requêtes (le SQL étant le même, ça ne posera pas vraiment de soucis). J'avais initialement fait ça en POO (fallait bien que je suive la vague un moment donné xP), mais je suis retourné en procédural (pas que j'aime pas le principe, mais établir toute une structure en POO pour 2 classes, c'est prendre le bazooka pour tuer la mouche).
Le truc c'est que je récupérer avec un foreach à présent, seulement voilà si j'ai un email ou un numéro de téléphone à vérifier, comment lui dire que je veux une vérification sur ce champ là (la seule idée que j'ai eu serait de stocker tout dans un tableau, faire mes vérifications sur les champs que je veux, et puis enfin envoyer le tableau si celles ci sont correctes, seule solution que je vois).