Séparer le code PHP du HTML : besoin d'avis / conseils

Eléphant du PHP | 224 Messages

20 mai 2008, 02:09

Re...

Pour revenir à ton problème Supercanard, tu peux adopter une solution intermédiaire de ce type :

Dans ton template, au lieu d'avoir :

Code : Tout sélectionner

<ul> <li>%%NOM%%</li> </ul>
Tu aurais plutôt :

Code : Tout sélectionner

<ul> %%NOM%% </ul>
Puis, dans ton code Php, tu pourrais faire un truc du genre :
// Tableau des éléments à remplacer 
$recherche[] = '%%NOM%%'; 
// Eléments de remplacement 
$remplacement[] = '<li>'.implode('</li><li>', $nom).'</li>'."\n"; 
// Remplacement 
$html = str_replace( $recherche, $remplacement, $html ); 
De cette manière tu construits l'ensemble de la liste (idem pour les tableaux, même si c'est parfois un peu plus compliqué)...

Bien-sûr, dans une approche de séparation la plus poussée possible entre le code Php et le Hmtl, cette technique ne s'avère pas idéale, puisqu'on commence déjà à mettre des balises Html dans le Php, mais, ne soyons pas trop puristes non plus, on insère quelques balises Html et uniquement juste avant de les remplacer dans le template... ce n'est pas si embêtant que ça à mon avis, d'autant qu'on peut considérer la fonction qui se charge du rechercher/remplacer comme faisant partie intégrante du système de templates... non ? :shock: ;)


à+ :)
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

Quoi
Invité n'ayant pas de compte PHPfrance

20 mai 2008, 11:50

Mais ça reviens au même que d'avoir une boucle et une concaténation... mais c'ets peut être plus propre et plus rapide qu'un while ?

ViPHP
AB
ViPHP | 5818 Messages

20 mai 2008, 18:31

Mais ça reviens au même que d'avoir une boucle et une concaténation... mais c'ets peut être plus propre et plus rapide qu'un while ?
A priori oui cela devrait être plus rapide mais aussi plus facile à gérer