<tpl:.../> fait de {{...}} un vrai tag XML au lieu d'un morceau de texte. Cela permet:
• Une manipulation DOM possible (exemple: XPath)
• Une coloration syntaxique possible
• Une séparation des espaces de nom (pour mélanger des langages)
• Un traitement par XSL (oui, j'insiste lourdement :p mais je serai curieux de comparer les perfs d'un template XSL processé par libXSL natif, face à un template {{...}} processé en PHP)
Après, si on veut effectivement traiter le {{...}} comme du pur contenu texte (ce qui serait le cas de @class="group {{$user->group}}"), un tag n'est pas approprié: il sert à structurer, si la structure n'est pas voulue, le tag n'est pas nécessaire.
Note que XSL a, pour le coup, une structure assez verbeuse:
Au fait, cela se passe comment si tu veux afficher littéralement {{exemple}} ?
D'ailleurs, à la relecture, on parle ici plus d'un système de code-snippet plutôt que d'un moteur de template: le code PHP de ce "moteur" n'a aucun intérêt à être exécuté en temps réel. C'est un peu comme le précompilateur SASS: je reconnait que cela évite de taper des lettres (comme un code snippet d'ailleurs), mais je ne qualifierai pas cela de "moteur".
• Une manipulation DOM possible (exemple: XPath)
• Une coloration syntaxique possible
• Une séparation des espaces de nom (pour mélanger des langages)
• Un traitement par XSL (oui, j'insiste lourdement :p mais je serai curieux de comparer les perfs d'un template XSL processé par libXSL natif, face à un template {{...}} processé en PHP)
Après, si on veut effectivement traiter le {{...}} comme du pur contenu texte (ce qui serait le cas de @class="group {{$user->group}}"), un tag n'est pas approprié: il sert à structurer, si la structure n'est pas voulue, le tag n'est pas nécessaire.
Note que XSL a, pour le coup, une structure assez verbeuse:
<li>
<xsl:attribute name="class">
<xsl:text>group </xsl:text>
<xsl:value-of select="$user/group"/>
</xsl:attribute>
<xsl:value-of select="$user/name"/>
</li>
Au fait, cela se passe comment si tu veux afficher littéralement {{exemple}} ?
D'ailleurs, à la relecture, on parle ici plus d'un système de code-snippet plutôt que d'un moteur de template: le code PHP de ce "moteur" n'a aucun intérêt à être exécuté en temps réel. C'est un peu comme le précompilateur SASS: je reconnait que cela évite de taper des lettres (comme un code snippet d'ailleurs), mais je ne qualifierai pas cela de "moteur".