Last update: 2011-03-02 02:14:37
On a souvent besoin en AJAX de créer une fonction qui va simplement effectuer une action sur le serveur ou ramener une valeur calculée par le serveur, sans que cette fonction vienne, d'elle-même, modifier le DOM. Même si JQuery facilite bien la communication entre Javascript et PHP, au bout d'un moment, j'en ai quand même eu assez de répéter les mêmes choses, à savoir: créer une fonction en Javascript pour chaque action sur l'interface utilisateur puis ajouter dans le contrôleur de mon application le cas correspondant. On a vite l'impression de faire quelque chose de répétitif et lorsque comme moi on préfère l'API "bas niveau" AJAX de JQuery alors les fichiers Javascript grossissent à vue d'oeil. Il fallait automatiser un peu tout ça.
Évidemment il y a bien le projet xajax qui pourrait répondre à ce besoin (et à beaucoup d'autres !), mais c'était un peu prendre un bulldozer pour planter un haricot. J'avais besoin de quelque chose de plus simple, de moins lourd et qui me laisse travailler la partie DOM avec JQuery... Bref, une petite classe maison. Cette classe génère des déclarations de fonctions Javascript jumelles de fonctions PHP, créant ainsi l'illusion que la fonction écrite en PHP est disponible aussi en Javascript.
Comme souvent, une petite démo (avec les sources pour les explications) vaut mieux qu'un grand discours. Vous trouverez également un zip contenant la classe et l'exemple ci-dessus, ce n'est pas vraiment packagé pour être user-friendly mais c'est suffisamment simple pour être compris de tous.