[PHP4.3.X-DOMXML]-CREATION D'UN MOTEUR DE TEMPLATE GRACE A DOMXML

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 21 nov. 2006 à 08:07
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009 - 27 nov. 2006 à 18:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40395-php4-3-x-domxml-creation-d-un-moteur-de-template-grace-a-domxml

cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
27 nov. 2006 à 18:07
Arf merci Loubiou ^^
Sympa de m'indiquer WAMP mais je connais deja ^^ => si tu regardes mes codes, j'ai deja attaque php5 ;-) (d'ailleurs en ce moment je me farcie toute la doc officielle sur les objets en php5. Je me suis dit qu'il y avait surement plus de choses a faire que de simple classe avec des privates, protected et public... lol)

Pour info, mon herbegeur n'a pas l'air motive... tant pis je continuerai sans lui. Je pense sans doute finir un code que j'ai sur le feu depuis quelques temps deja (parser xml) et apres je m'attaque au moteur :-)

@++
Loubiou Messages postés 150 Date d'inscription mercredi 26 juin 2002 Statut Membre Dernière intervention 5 décembre 2008
27 nov. 2006 à 03:21
Très bon code !
J'utilise perso la dom de PHP 5 qui me permet de passer des flux XML entre flash et mysql.
Je trouve que c'est bien rapide si l'arbo n'est pas trop complexe, et surtout préférant charger les attributs pour les données.

Tu peux utiliser WAMP qui intègre les dernières versions de php et phpmyadmin !
http://www.webmaster-hub.com/publication/+wamp-Nouvelle-version+.html

En attendant que ton hébergeur saute le pas, tu pourras déjà tester en local ;-))
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
24 nov. 2006 à 19:21
Salut !

Merci de tes compliments, c'est sympa d'avoir zieute mon code ;-)
Pour la version php5, j'y pense (surtout en raison de la vitesse d'execution, je me doutais bien que dom, etant present dans le coeur de php5, serait nettement plus rapide). En plus, je doit dire que j'ai bien souffert pour realiser cette appli parce que DOMXML est vraiment MAL DOCUMENTE ! (surtout par rapport a DOM). Pas mal de fonctions tres utiles sont deprecies par rapport a d'autre censes les remplaces mais ne faisant pas exactement la meme chose (je pense a unlink_node() par exemple).
Je vais voir en fonction de mon hebergeur (qui est actuellement en php4) et demander une migration vers php5. Si ce n'est pas faisable, soit je change d'hebergeur (ce qui me parait le mieux de toute facon), soit je reste avec mon "vieux" truc ...lol
Cela influencera directement sur le temps de migration du code en php5 (l'idee me plait de plus en plus ;-))

Pour la regex final, j'ai hesite longuement avant de me resigner a l'utiliser (j'etais content d'avoir realise un code tel quel sans regex) mais c'est vrai que s'il il avait fallu implementer une nouvelle fonction rien que pour parser les balises orphelines, sa aurait fait beaucoup de code en plus pour pas grand chose au final (et puis j'ai eu une crise de flemme aigu ^^). Donc je me susi resigne (faute grave je sais :p)

Allez, pour la prochaine version, je promet des logs de fichier en xml (tant qu'a faire) et PAS UNE SEULE expression reguliere. Je testerai egalement les try() catch(), faudra bien que je m'y mette un jour ou l'autre alors tant qu'a faire :-)

Merci encore d'avoir regarde ma source, je suis content que tu y ai trouve un interet !

@++
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
21 nov. 2006 à 08:07
Hello,

je trouve que c'est une très bonne idée :-) C'est pas mal réalisé. Mais je conçois que ce soit long, surtout à cause de l'expression régulière finale. A la limite, tu devrais pouvoir virer ces balises via domxml. A voir si c'est plus rapide.
Sinon, ben, il ne te reste plus qu'à créer une version php5, qui elle sera nettement plus rapide (dom est plus optimisé que domxml), et plus intéressante pour la gestion des erreurs et du log.
Mais c'est très bien :-)
Rejoignez-nous