Aller au contenu

Fichiers .tpl et Variables de types {variable}


Fanou

Sujets conseillés

Bonsoir à tous...

pour commencer, je vais râler ... crier ... j'en ai marre !!!

Je passe mon temps à coder, recommencer car telle ou telle méthode est meilleure... alors je tente de la comprendre, de l'utiliser... et recommencer.....

J'ai des tendances perfectionnistes, je cherche toujours à faire mieux... mais là, je crois que je me suis royalement planté !

Non parce que le php c'est bien sympa, mais les bases que j'ai acquises ne sont malheureusement que des p***** de bases ^^

J'ai fait toutes sortes de choses... Développer mon propre blog, mon propre forum, cms et tout la tralala... en tentant à chaques fois d'améliorer et la rapidité, et la sécurité et surtout la possibilité de la mettre à jour voire le faire évoluer facilement.

Et puis un jour je lis un article sur la POO ... "C'est bien", "C'est pratique", "C'est évolutif" ... Mais en plus de ces qualités, s'était quoi qu'il arrive quelque chose que je voulais savoir utiliser.... et comprendre ! Bref, cet article s'adressait à moi ^^ ...

Alors je tente de comprendre ces maudites classes. Trouver des articles, des tutos, des exemples qui m'aideraient. Malheureusement, je ne parvient pas à mes fins.

Je ne vais pas plus détailler ça, car j'avais déjà lancé un topic à ce sujet.

Mais hier, en entrant en contact avec un ami (webmaster lui aussi) qui avait besoin d'un coup de main sur les CSS : Il m'envoi un fichier .tpl ... à l'intérieur se trouvent des variables de ce types {variables} ... Et là, c'est les bleus qui me parlent dans les yeux !... C'est ça que je veux !!! Difficile de faire plus évolutif et "manipulable"... et en réfléchissant, je me souviens d'avoir vu ça dans des sources, mais jusqu'à présent je n'y avait pas prêter attention.

Bref, où puis-je trouver des informations que me permettrai de créer ce types de fichiers ? Comment les utiliser ?... Comment faire quoi.... :)

S'il vous plait, je craque... Je souhaite un jour me lancer "officiellement" dans le métier mais je veux connaitre un maximum de choses, être sûr de moi car sûr de mes connaissances.

Donc si quelqu'un a de la documentation et des exemples pratiques, qu'il m'en fasse part....

Merci à vous, et à votre bon coeur :cool:

Fanou

Lien vers le commentaire
Partager sur d’autres sites

Tout d'abord, ne désespère pas, c'est super passionnant et je pense qu'en persévérant, on y arrive.

Pour en revenir à ta question, il s'agit d'un fichier de template (.tpl). Il y a plusieurs façons de voir :

  • La façon Spipienne
  • Avec Spip, le fichier de template est un vrai langage à lui seul. Tu peux faire des transformations sur les variables, créer des boucles complexes et même faire de la retouche d'images etc... L'inconvénient, c'est que du même coup, ça prend beaucoup de ressource et, pour quelqu'un qui comme toi connaît PHP, ça force à apprendre un nouveau langage alors que tu en connais déjà un.
  • La façon intermédiaire
  • Disons que certaines transformations seulement sont possibles, mais que cela reste tout même de petites tranformations.
  • La façon drastique
  • Celle que j'utilise dans XCMS. En fait, je pars du principe qu'une dissociation totale du code et du template doit être réalisée. Les variables sont définies par PHP et mises dans le template. Le template ne peut pas influer sur leur contenu. L'inconvénient, c'est qu'il faut mettre les mains dans le PHP pour modifier le contenu des variables (mais quand on connaît PHP...). L'avantage, c'est que c'est ultra-rapide, ultra-léger et très sommaire ce qui permet au graphiste de s'y retrouver facilement (encore que, si il respecte la dissociation de la forme et du fond, c'est juste quelques div et span à rajouter avec modération là où ce n'est pas possible de faire autrement).

Pour ta gouverne, en général, un moteur de template, ça se fait en POO (c'est plus conceptuel). Principalement, on utilise des expressions régulières. Mais, un système caractère par caractère serait plus rapide. Je compte réécrire mon moteur dans ce sens sitôt que j'ai un peu de répit. Voilà, voilà :)

Modifié par froidure_nicolas
Lien vers le commentaire
Partager sur d’autres sites

Oui pour apprendre quelque fois c'est aussi de regarder le fonctionnement interne, je connais pas celui de SPIP,

tu peux regarder et decortiquer DOTCLEAR 2 qui est un modèle du genre niveau codage et qui permet la aussi

de faire des boucles des tests et surtout de l'enrichir aussi avec ses propres fonctions.

Lien vers le commentaire
Partager sur d’autres sites

initialement cela a été fait pour séparer le code de la mise en forme. C'est bien comme objectif. on a donc ajouté des pseudo-variables

Mais ça n'est pas toujours faisable. Par exemple, si je veux remplir un tableau de données, il va falloir pouvoir effectuer des boucles, donc on rajoute du pseudo-code

Oui, mais on aimerait pouvoir changer le titre du tableau selon les valeurs obtenues, donc on étend le pseudo-code.

Au final, on obtient un mélange de code et de mise en forme (chose qu'on était sensé éviter initialement) et en plus, on rajoute une couche de complexité, car au lieu de n'avoir que du php et du html, on ajoute un langage semi interprété au milieu.

Lien vers le commentaire
Partager sur d’autres sites

Merci à tous pour vos réponses...

Il s'agit donc d'utiliser un moteur de templates... J'ai cherché différents moteur, j'ai lu ci et là quelques conseilles sur Smarty.

Mais mon choix s'est tourné vers http://www.templeet.org/

Dans un comparatif (donc je ne retrouve plus la page, il s'en était bien tiré). Cependant, je prendrais aussi Smarty, et tenterai de voir les différences.

Merci pour vos réponses.

Lien vers le commentaire
Partager sur d’autres sites

initialement cela a été fait pour séparer le code de la mise en forme. C'est bien comme objectif. on a donc ajouté des pseudo-variables

Mais ça n'est pas toujours faisable. Par exemple, si je veux remplir un tableau de données, il va falloir pouvoir effectuer des boucles, donc on rajoute du pseudo-code

Oui, mais on aimerait pouvoir changer le titre du tableau selon les valeurs obtenues, donc on étend le pseudo-code.

Au final, on obtient un mélange de code et de mise en forme (chose qu'on était sensé éviter initialement) et en plus, on rajoute une couche de complexité, car au lieu de n'avoir que du php et du html, on ajoute un langage semi interprété au milieu.

Je partage ton point de vue, mais le template est utile dans un cas, et pour que celui-là soit possible, il faut une bonne dissociation du code et du template.

Par exemple, pour le site du BBComposer, la seule différence entre les actualités en HTML et les actualités en RSS ou ATOM, c'est le template. Tout le reste est identique. C'est là que se trouve l'utilité des templates.

Lien vers le commentaire
Partager sur d’autres sites

Le problème c'est que ça devient très (trop) vite une usine à gaz.

Pour énormément de présentation, on est obliger d'effectuer des tests ou des boucles dans la présentation, et le fait de remplacer des variables par des pseudo-variables n'y change rien : on aura toujours un mélange de code et de présentation.

Le principe MVC est malheureusement inapplicable dans la quasi totalité des cas, sauf si on veut en rester au print("hello") du basic qui deviendrait

<?php

echo "hello"

?>

et avec des templates, rien que cet affichage va se retrouver avec 50 fichiers annexes contenant des classes qui ne nous intéressent pas et sur lesquelles on aimerait ajouter d'autres fonctions, mais lors de la màj des classes, il faut tout refaire, comme beaucoup de classes ont été modifiées...

pas top à mon avis.

Lien vers le commentaire
Partager sur d’autres sites

Le problème c'est que ça devient très (trop) vite une usine à gaz.

Je suis du même avis, moi je dirais template pour gros projet et surtout projet ou des gens ne connaissant pas le codage doivent ou

peuvent intervenir au niveau de la présentation (avantage de sécurité aussi dans ces cas là)

Sinon pour soit ou petit projet un codage propre avec un structure facilement modifiable ou visualisable

dans les outils tels que DREAM ou d'autres et en se reposant au maximum sur la présentation CSS.

A+

Lien vers le commentaire
Partager sur d’autres sites

Je me suis finalement tourné vers Smarty, grâce à cette documentation très bien expliquée :

http://eric-pommereau.developpez.com/tutor...tiation-smarty/

Pour le côté usine à gaz... je verrai par la suite... Pour le moment, dans ma façon de développer c'est vraiment ce que je cherchai... Certes ce que j'ai fait jusqu'à présent doit-être refais (de toutes façons je ne mettai pas encore mis aux classes).

Bref, actuellement je n'y vois que des bons côtés :)

Merci pour ton lien Spark... mais comme dit au début de ce message, je me suis attaqué à Smarty à l'aide de la documentation liée...

Fanou

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...