Programmation par callbacks
Par Paul de Rosanbo, mardi 23 mai 2006 à 21:28 :: Code :: #63 :: rss
En php on est souvent tenté de programmer en multipliant les boucles, afin de séparer la présentation du code. Par exemple, une première partie du code prépare les donnés sous forme de tableau php puis dans le template le tableau est décomposé pour créer le HTML.
Pour éviter d'utiliser les tableaux comme un support pour passer du code à la présentation, il existe plusieures méthodes (et sans doute plein d'autres que je ne connait pas).
Les class iterateurs en php5. On peut passer le contenu produit par l'application vers le template sous la forme d'un objet Iterator. L'avantage est que les donnés pourrons être fournies au template au moment de l'affichage, les traitements s'effectuants dans l'objet (et non pas avec le html).
On peut reproduire le même effet avec des fonctions ou des classes basiques, exemple pour la partie HTML :
<ul>
<? while($arr = getnextdata()) { ?>
<li><a href="<? echo $arr['url']; ?>"><? echo $arr['link']; ?></a></li>
<? } ?>
</ul>
Le concept est que l'application doit renvoyer les donnés au html tant qu'il y en à, à la fin la fonction revoie false et la boucle s'arrète, comme pour les itérateurs, il n'est pas nécéssaire de stoquer dans un tableau toutes les lignes qui doivent êtres affichées (économie de mémoire).
Avec PDO, les résultats sont renvoyés directement sous forme d'iterateurs, dans le cas d'action à effecter sur les donnés entre la requète brute et la page HTML, il faudra procéder de la même façon.
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.