Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 13-12-2007 08:52:36

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Une classe de debug pour ajax, xslt, mvc, etc...

Ces classes de debug s'appuient sur les extensions pour firefox Firebug, une extension vraiment indispensable et sur une autre extension qui vient compléter firebug,  Firephp.

Firephp ajoute une zone dans firebug ou l'on vas pouvoir dumper des variables php. Le gros intérêt est de pouvoir dumper des variables sans pour autant perturber le déroulement standard ni l'affichage du programme. Ceux qui ont déjà eu a débugger des appels Ajax avec réponse json, du parsing xslt, ou n'importe quel code qui si on affiche qq chose à l'écran empêche le déroulement standard  du programme savent à quel point cela peut être pénible a débugger. C'est à ce problème que firephp apporte une solution.

Firephp, comme son nom ne l'indique pas, n'est pas du tout dédié a php et peut etre utilisé par d'autre language.
Firephp est encore en cours de dev et sera amené à encore évoluer mais est déjà tout a fait fonctionnel et déjà extrêmement utile dans l'état .

Conjointement avec l'auteur de l'extension firephp, j'ai développé une interface qui permet d'exploiter ce principe depuis php. Je ferai évoluer ces classes au fil de l'évolution de firephp. Elles permettent de faire de jolie dump coloré aussi bien dans la console de firephp que sur une page web standard.

Merci de vos retours ou suggestion.

Firebug
Firephp
Interface php pour firephp

Dernière modification par TiTerm (13-12-2007 08:53:00)

Hors ligne

 

#2 13-12-2007 11:02:01

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Cool Merci TiTerm smile

Ca fait un petit moment que je voulais jeter un œil à Firephp mais là raison de plus !

@+

Hors ligne

 

#3 13-12-2007 11:28:59

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Firephp a énormément évoluer depuis les premières version. Il n'a plus rien a voir avec le début et est bien plus facile a utiliser aujourd'hui.
Il vas encore évoluer de façon importante. Je discute pas mal avec Christoph Dorn sur les évolutions à venir, les 2 évolutions que j'ai proposés et qui sont maintenant sur la TODO list sont :
- Une zone dédié pour firephp dans firebug. Actuellement, il faut aller dans net/server, c'est pas très ergonomique.
- La possibilité de transmettre le JS de rendu de tel sorte que la librairie de debug php puisse etre placé en dehors de la racine du site web. Actuellement, firephp fait un appel au js via ajax, et donc il doit être accessible via le serveur web.

N'hésite pas a demander si tu as des pbs...

Hors ligne

 

#4 13-12-2007 11:34:14

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Et moi avec mon Opera je me sens exclu...
Mais bon en même temps j'ai pas besoin de ça vu que je code sans bug xD (blague)

Hors ligne

 

#5 13-12-2007 12:00:01

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Laurent Jouanneau a fait quelques chose de similaire avec JELIX

http://www.ljouanneau.com/blog/2007/11/ … dans-jelix

Hors ligne

 

#6 13-12-2007 12:34:59

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Hmmm, l'affichage dans la console de firebug passe par du JS. Je ne suis pas sur que ce soit la même chose.
Dans firephp, on utilise des headers pour communiquer avec firebug, d'ou une total transparence via a vis de l'affichage web (on insert aucun js dans le code).

Une image sera peut etre plus parlante

Dans le haut, c'est la page web, dans le bas, c'est firebug/firephp.
Le meme rendu est disponible aussi bien sur la page web que dans la console firephp.

http://titerm.free.fr/firephp/ssfirephp.jpg

Dernière modification par TiTerm (13-12-2007 12:35:39)

Hors ligne

 

#7 13-12-2007 14:21:26

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: Une classe de debug pour ajax, xslt, mvc, etc...

TiTerm a écrit:

Hmmm, l'affichage dans la console de firebug passe par du JS.

Effectivement L.J. doit passer par du JS. Va falloir que je test ça, time, time, TIME !!!! smile

Dernière modification par 2mx (13-12-2007 14:21:53)

Hors ligne

 

#8 20-12-2007 18:31:15

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Une classe de debug pour ajax, xslt, mvc, etc...

J'ai un truc bizarre qui se produit sur un serveur linux+apache+php : j'ai une page toute blanche avec rien de rien alors que sur une install wamp (windows+apache+php) ça fonctionne bien.

Y a t'il des modules d'apache (ou de php) ou une configuration d'apache (ou de php) particulière ?

Hors ligne

 

#9 20-12-2007 19:50:01

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Non, rien de particulier. La seule différence, c'est que le serveur linux est case sensitive... Il y a probablement un pb de ce coté....

Je n'ai pas de serveur unix sous la main. Je ne pourrai pas tester ca avant l'année prochaine smile

Dernière modification par TiTerm (20-12-2007 19:51:02)

Hors ligne

 

#10 20-12-2007 22:29:30

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Oui pour la casse mais le pb ne vient pas de là (j'aurais eu une erreur d'absence de fichier).

Hors ligne

 

#11 21-12-2007 07:56:48

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

As tu regardé les logs php des fois qu'on y trouve une information intéressante ?
Quelle version de php apache utilise tu sur ton linux ?

Dernière modification par TiTerm (21-12-2007 09:00:16)

Hors ligne

 

#12 21-12-2007 08:49:44

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Merci pour l'info. Comme je code toujours sans bug ( wink pour Mr.MoOx), je ne vais que rarement dans les logs smile

Donc, ça vient de la fonction json_encode qui n'est pas encore présente dans ma version de PHP (5.1.6) et aussi de mon charset (ISO-8859-1). Pour infos, j'ai eu la confirmation par http://www.kitpages.fr/php_json_codec.php smile (merci Philippe donc).

J'ai contourné le pb en utilisant la fonction Zend_Json::encode à la place de json_encode.

Dernière modification par Damien (21-12-2007 09:06:13)

Hors ligne

 

#13 21-12-2007 09:05:04

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Ok, cool. Si tu as le ZF, (y a des chance sur ce forum), tu peux remplacer json_encode par  Zend_Json:encode()

Si le charset pose pb, tu peut peut etre corrigé le tire en encodant en utf8 avant de la "jsonner". Mais de mémoire, la version ZF est moins succeptible que le json_encode natif php.

Hors ligne

 

#14 21-12-2007 09:13:16

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Pour améliorer l'interface, n'y aurait-il pas moyen d'indiquer qu'il faut absolument PHP 5.2.x mini ou d'utiliser le Zend Framework ?

Code:

if ( function_exists("json_encode") ) {
    $tabjson = str_split(json_encode($this->toSend),self::CHUNKSIZE);
} else if ( function_exists("Zend_Json::encode") ) {
    $tabjson = str_split(Zend_Json::encode($this->toSend),self::CHUNKSIZE);
} else {
    die( "Error: You must have PHP 5.2.x or use Zend Framework !");
}

Sauf que ça fonctione pas comme ça, mais c'est l'idée smile

Dernière modification par Damien (21-12-2007 09:16:42)

Hors ligne

 

#15 21-12-2007 09:20:49

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Oui, je signalerai la version mini de php

Essai de faire

Code:

  $tabjson = str_split(json_encode(utf8_encode($this->toSend)),self::CHUNKSIZE);

ou l'équivalent avec le ZF dans ton cas. Cela devrait corriger ton pb de charset.

Dernière modification par TiTerm (21-12-2007 09:21:09)

Hors ligne

 

#16 21-12-2007 09:54:10

Damien
Membre
Lieu: Tassin la Demi Lune
Date d'inscription: 22-03-2007
Messages: 88

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Merci, mais ça fonctionne. Comme tu le disais la fonction de ZF est plus permissive

Hors ligne

 

#17 21-12-2007 10:40:17

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Une classe de debug pour ajax, xslt, mvc, etc...

Excellent smile, n'hésite pas à me faire pas de tes suggestions ou remarques.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages