Pololand

Aller au contenu | Aller au menu | Aller à la recherche

mardi 23 mai 2006

Programmation par callbacks

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.

samedi 18 février 2006

Valider automatiquement des pages par PHP

Avec php et le DOM, il est facile de valider des document xhtml, les fonctions fournies permettent de valider du xml avec la DTD associée

lire la suite

dimanche 12 février 2006

Un moteur de template avec le DOM...

Tout les moteurs de templates en php que j'ai trouvé sur le web fonctionne a peu près sur le même principe, recheche et remplacement de tags par expression régulière, des variables et des blocs pour faire des boucles. J'ai essayé d'en développer un en utilisant le DOM avec les fonctions fournies par php. Le code n'est pas finalisé mais voila déja un aperçu.

lire la suite

samedi 6 août 2005

De texte vers HTML

Dans ce billet, j'ai essayé de recenser de manière non exhaustive, les solution de traitement de publication sur le web, du texte brut vers HTML. Les langages Wiki ainsi que d'autres plus exotiques.

lire la suite

dimanche 24 juillet 2005

La recette SVG dans firefox

Dans quelques mois, la sortie de Firefox 1.5 permettra de voir des pages web avec du SVG sans utiliser de plugin de visualisation. J'ai réaliser quelques tests avec Deer Park (la version alpha 2 de firefox 1.5) sur les espaces des nommage en XML

lire la suite

vendredi 22 avril 2005

Bookmarks synchronizer et transformation XSL

Bookmarks Synchronizer est une extension pour Firefox qui permet de synchroniser ces bookmarks avec un serveur FTP et de partager ces bookmarks entre plusieurs machines, l'inconvénient de cette technique est que l'on n'a pas accès aux liens a partir du web comme pour del.icio.us ou blogmark. Si le fichier xml de Bookmark Synchronizer est dans un partage web ont peut l'utiliser avec un peu de XSLT.

lire la suite

dimanche 3 avril 2005

Ajax avec Dojo toolkit, le test

Aujourd'hui, j'ai fait des tests de développement en utilisant les nouvelles techniques à la mode appelées Ajax, il s'agit de modifier des pages web dynamiquement par javascript en injectant du contenu récupéré sur le serveur. Avant de commencer, un peut de lecture ne peut pas faire de mal : Ajax, promise or hype? et 2005, l'année de l'AJAX

lire la suite

vendredi 17 décembre 2004

Comment utiliser create_function en php

Voici un test de performance pour l'utilisation de create_function en tant que fonction de callback sur les donnés contenus dans un tableau. L'utilisation des fonctions anonymes permet de gagner quelques précieuses secondes...

lire la suite

mardi 19 octobre 2004

Tests de performance

Voici un test de performance pour choisir la meilleure syntaxe à employer dans une classe PHP sur une fonction qui parcours un tableau de valeurs avec un appel pour chaque valeur du tableau. Pour réaliser des api, moteurs de templates, etc...

lire la suite

dimanche 26 septembre 2004

Rails

Rails

Voici une api pour faire des sites web en Ruby, je ne savait pas que ça existait, ça à l'air d'être assez cool avec une syntaxe ou il y a pas besoin d'écrire beaucoup. Il faut que je pense à tester ça un jour. L'outil de connexion à la database est fait de manière à ce que l'on écrive pas de requète, en fait c'est une sorte de système d'abstraction de base avec le support de mySQL sqlLite et PostGres. C'est certainement une bonne chose que ce genre d'outils soit intégré directement dans le langage, ça évite de coder du spécifique et standardise dès le départ, car il faut l'avouer, c'est l'un des points faibles du php.

dimanche 12 septembre 2004

Cookies

définir et récupérer un cookie en javascript

lire la suite

samedi 11 septembre 2004

Comment Modifier les proprités d'une classe css par javascript?

Par habitude, je javascript ce limite souvent a modifier les propriétés d'affichage css d'un élément html sur la page, mais il arrive qu'il soit nécessaire de modifier les propriétés d'affichage avant que la page html soit chargé.

lire la suite