Moteur de Template


Présentation

J'ai conçu mon propre moteur de template suite à un constat simple : en général les moteurs existants nécessitent l'insertion de lignes de code dans les fichiers qui servent de template.
Cette solution est bien évidement une bonne idée sauf que cela implique que les personnes qui concevront les fichiers de template devront avoir une logique de programmeur et devront également respecter certaines conditions dans l'écriture des lignes de codes sous peine de ne pas obtenir le rendu escompté.
C'est pour ces raisons que mon moteur ne nécessitent l'insertion d'aucuns "mots clefs" correspondant à des fonctions ou des paramètres dans le code HTML ; par ailleurs, afin de se limiter au strict minimum, mon moteur ne sait agir que sur deux types d'"objets" : des blocs de codes HTML et des emplacement dans le code HTML.

Obligations

Afin de définir un bloc de code ou un emplacement, il suffit d'inserer une balise au sein du code HTML ; cette balise doit être répetée afin de définir un bloc.
Une balise se définit comme suis :

Utilisation

Afin de bien comprendre le fonctionement, voici un exemple simple :
Contenu du fichier template
<div align="center">[:TitreNom:]</div>
[:SsTitre:]
<div align="center">[:SsTitreNom:]</div>
[:SsTitre:]
Affichage de la structure
$objet_tpl->ShowStruct();
CODE
VARIABLE (/TitreNom)
CODE
BLOCK (/SsTitre)
  CODE
  VARIABLE (/SsTitre/SsTitreNom)
  CODE
END (/SsTitre)
CODE
Insertion de "titre" dans "/TitreNom"
$objet_tpl->SetVar("/TitreNom","titre");
<div align="center">titre</div>
Rajout d'un bloc "/SsTitre"
$objet_tpl->AddBlock("/SsTitre");
<div align="center">titre</div>

<div align="center"></div>
Insertion de "sous-titre" dans "/SsTitre/SsTitreNom"
$objet_tpl->SetVar("/SsTitre/SsTitreNom","sous-titre");
<div align="center">titre</div>

<div align="center">sous-titre</div>

Détail des fonctions

Téléchargement

Ce logiciel est distribué sous la license CeCILL.
Vous pouvez accéder à la license CeCILL en français par ce lien.
J'accepte les termes de la licence CeCILL dont j'ai pris connaissance.

This program is distributed under the CeCILL license.
You can access the CeCILL license in english by this link.
I agreee with the terms of CeCILL license which i've read and understood.

Gen. 56 ms
Valid XHTML 1.0 Strict
Valid CSS 2.1

Speedy - Shit Fliez