Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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
Cool Merci TiTerm
Ca fait un petit moment que je voulais jeter un œil à Firephp mais là raison de plus !
@+
Hors ligne
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
Laurent Jouanneau a fait quelques chose de similaire avec JELIX
http://www.ljouanneau.com/blog/2007/11/ … dans-jelix
Hors ligne
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.
Dernière modification par TiTerm (13-12-2007 12:35:39)
Hors ligne
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 !!!!
Dernière modification par 2mx (13-12-2007 14:21:53)
Hors ligne
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
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
Dernière modification par TiTerm (20-12-2007 19:51:02)
Hors ligne
Oui pour la casse mais le pb ne vient pas de là (j'aurais eu une erreur d'absence de fichier).
Hors ligne
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
Merci pour l'info. Comme je code toujours sans bug ( pour Mr.MoOx), je ne vais que rarement dans les logs
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 (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
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
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 ?
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
Dernière modification par Damien (21-12-2007 09:16:42)
Hors ligne
Oui, je signalerai la version mini de php
Essai de faire
$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
Merci, mais ça fonctionne. Comme tu le disais la fonction de ZF est plus permissive
Hors ligne
Excellent , n'hésite pas à me faire pas de tes suggestions ou remarques.
Hors ligne