séparer interface du traitement - template?

d0m
Mammouth du PHP | 1141 Messages

13 juil. 2007, 16:12

J'ai mon belle petite application faite de diverses pages php.

Dans chacune de mes pages php affichable, j'ai :

1. une partie php qui charge les données, les traites, crée les variables,etc.
2. une partie html avec mes div, tableaux etc avec à l'interieur des morceaux de codes php pour faire des affichage de mes données traitées.

Je voudrais séparer l'IHM c'est à dire la partie html pure du traitement php qui sera dans une autre page.

J'ai trouvé un petit tuto qui propose de faire des template dans la page html du genre :

Code : Tout sélectionner

<div align="center">Aujourd'hui nous sommes le ##INSERTION_DATE##</div>)
et dans la page php :
<?php
// lecture de la page modèle : le code HTML est stocké dans la variable $contenu
$fichier="modele.htm";
$pointeur=fopen($fichier, "rb");
$contenu=fread($pointeur, filesize($fichier));
fclose($pointeur);

// détermination de la date
$date_du_jour=strftime("%A %d %B %Y");

// remplacement du marqueur HTML par la date
$contenu=str_replace("##INSERTION_DATE##", $date_du_jour);

// renvoi de la page au navigateur
echo $contenu;
?>
Que pensez vous de cette solution? Est-ce la seule, la plus performante,propre ou la plus utilisée?

ViPHP
ViPHP | 928 Messages

13 juil. 2007, 16:24

Bonjour,
il existe de nombreux moteurs de templates qui permettent de faire exactement ce que tu veux, avec pas mal de possibilités sympa. Smarty, PHPlib, etc ...

Un petit comparatif : http://cyberzoide.developpez.com/php4/template/
Un tutorial que j'ai fait concernant PHPlib : http://genova.developpez.com/articles/template_phpbb/

ViPHP
ViPHP | 5924 Messages

13 juil. 2007, 18:46

Un sujet très intéressant à ce propos : http://www.phpfrance.com/forums/voir_su ... mplate.php

d0m
Mammouth du PHP | 1141 Messages

16 juil. 2007, 10:27

merci,
j'étais passé à coté