Moteur de template

Soyez le premier à donner votre avis sur cette source.

Vue 6 001 fois - Téléchargée 731 fois

Description

Cela fait un moment que je désire me confronter aux commentaires du plus grand nombre possible sur ma manière de coder en php.
Je vous poste ici mon code d'un moteur de templates simple à utiliser et puissant.
Il est de plus assez léger et permet d'être utiliser avec des objets grâce à une interface qui ne contient qu'une fonction.

Source / Exemple :


Le code étant devenu trop long, je vous invite maintenant à télécharger le zip pour tout avoir, y compris l'exemple et le documentation complete.
Si vous pensez que je devrai remettre le code du fichier Template aussi long soit il, faites les moi savoir, je le ferai!

Conclusion :


Le code est suiffisemment commenté pour être compris je pense.
Pour tous ceux qui veulent un fichier plus léger je vous invite à supprimer les commentaires vous devriez réduire la taille du fichier par deux environ.
Le zip contient un exemple d'utilisation de la classe avec et sans objets et la documentation générée par Doxygen.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
15 juillet 2009

Merci, je veux bien. Je t'envoie mon mail par mp.

Cela dit, j'ai réessayé aussi, et toujours le même problème.
Messages postés
5
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 juillet 2009

Perso je viens de tlécharger l'archive et je n'ai eu aucun probleme. Je te l'envoie par mail si tu veux.
Messages postés
2
Date d'inscription
mercredi 31 mars 2004
Statut
Membre
Dernière intervention
15 juillet 2009

Bonjour, bravo pour cet excellent code, mais j'ai voulu récupérer la dernière version et le zip est corrompu... Impossible de décompresser ! Que faire ?
Messages postés
202
Date d'inscription
vendredi 27 janvier 2006
Statut
Membre
Dernière intervention
29 janvier 2019

Il n'est pas inutile de rappeler qu'il existe un moteur de template très performant, très utilisé, intégrant la gestion d'un cache et supportant l'édition dynamique des "templates" (ou modèles) pour la génération de code HTML: MediaWiki (ex.: Wikipedia, Wikimedia Commons, Wiktionary, etc. et la plupart des wikis actuels).

Ceci dit un tel code n'est pas inutile pour générer autre chose que du HTML pour un site web; par exemple pour générer du XML tel qu'une image SVG (mais MediaWiki possède de telles extensions permettant de générer toutes sortes de documents à partir de modèles et de données dans une approche de type document-view permettant la séparation du modèle de données et des formulaires ou pages de présentation de ces données.)

On a aussi besoin d'autres templates pour générer des interfaces graphiques XML (par exemple en XUL) ou faire des transformations de données XML, ou manipuler des documents à partir de modèles dynamiques de données et de présentation pour en faire différentes fusions ou l'adaptation aux formats d'entrée de différents outils.

La puissance du moteur de modèles dépend aussi largement de sa puissance expressive, c'est à dire du type de transformation applicable qui doit aller au delà de la simple substitution de variables (par exemple capables d'effectuer du calcul et reourner le résultat de ce calcul et non l'expression elle-même (cf. par exemple {{#expr:...}} dans MediaWiki).

Je n'ai pas tout lu de ton code, je me demande s'il est extensible pour supporter ces extensions expressives, y compris le traitement conditionnel (de type {{#if:}} ou {{#switch:}} en Mediawiki de base), les boucles de longueur variable à condition de terminaison dynamique et la gestion dynamique de variables d'état locales (non supportées dans Mediawiki), ou les fusions multicritères (un domaine où MediaWiki est ectuellement très faible, notammenet pour la catégorisation et l'ajout de métadonnées suivant un nombre indéfini d'axes d'analyse de types différents éventuellement contraints par un schéma de données).
Messages postés
5
Date d'inscription
dimanche 11 février 2007
Statut
Membre
Dernière intervention
15 juillet 2009

@lleriche : absolument pas!
Il te suffit de modifier le code dans index.html afin de mettre ce que tu veux (par exemple un div).
Tu peux meme mettre un bloc dans un autre bloc (ce qui est fait dans l'exemple du zip).
Si tu veux vraiment un autre exemple envoie moi un mail et je t 'en enveraie un.
Afficher les 22 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.