Citation :Je vois ce que tu veux dire, mais je ne vois pas comment y remédier.Avec un Typehinting. Ce qu'on passe en paramètre ne doit pas être une chaine string, quelconque, mais un objet implémentant une interface qui constituera la garantie que cet objet représente un nom de fichier basique.
A voir si cette interface n'existe pas déjà.
Le template pourrait très bien sortir un code XML que l'on veut ensuite re-traiter derrière, donc le Viewer n'est alors pas un eval() mais un DOMDocument->loadXML().