Page 1 sur 1

séparer interface du traitement - template?

Posté : 13 juil. 2007, 16:12
par d0m
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?

Posté : 13 juil. 2007, 16:24
par Genova
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/

Posté : 13 juil. 2007, 18:46
par Sékiltoyai
Un sujet très intéressant à ce propos : http://www.phpfrance.com/forums/voir_su ... mplate.php

Posté : 16 juil. 2007, 10:27
par d0m
merci,
j'étais passé à coté