Bonjour,

Je m'adresse particulièrement à Grafikart, mais si d'autres le savent, je suis preneur.

En effet, celui-ci quand il var_dump dans ses vidéos, il a un design impec, coloré et déjà présenté en

<pre></pre>

Du coup, je voulais savoir comment il faisait ça ?
Quelque chose à faire dans la configuration de PHP ? Ou je sais pas, mais c'est bien pratique

Merci !

12 réponses


Carouge10
Réponse acceptée

Bonsoir,
Sur certaine de ces vidéos, il crée une fonction debug où il stylise le var_dump.

/**
 * Permet d'afficher le détails de la variable
 * @param type $var Variable a debugger
 */
function debug($var) {
    if (Conf::$debug > 0){
        // Affiche la ligne où le debug a été appelé
        $backtrace = debug_backtrace();
        echo '<br><br>';
        echo '<p><a href="#" onclick="$(this).parent().next(\'ol\').slideToggle(); return false;"><strong>'.$backtrace[0]['file'].'</strong> ligne '.$backtrace[0]['line'].'</a></p>';
        echo '<ol style="display:none;">';
        foreach ($backtrace as $k => $v) {
            if ($k > 0){
               echo '<li><strong>'.$v['file'].' ligne '.$v['line'].'</li>'; 
            }
        }
        echo '</ol>';
        echo '<pre>';
        print_r($var);
        echo '</pre>';
    }
}
tleb
Réponse acceptée

Pourquoi ne pas simplement utiliser xdebug ? (exemple)

Grafikart
Réponse acceptée

C'est effectivement xDebug qui fait ça mais sinon si tu veux pas modifier ta conf php tu peux utiliser une librairie externe http://raveren.github.io/kint/

Genki
Auteur

Ah mais c'est ça ! Sauf que lui à cette interface quand il utilise var_dump :/

2 très bons fork existent pour faire des dump de dingue :

Perso, le dernier me plait énormement quand il s'agit d'afficher plusieurs Array ou Objets.

Genki
Auteur

Merci Graf de confirmer que c'est bien xDebug. La où j'ai un problème, est qu'il n'est pas installer sur le serveur (qui ne m'appartient pas, c'est celui de la boite).

J'ai accès au ftp de celui-ci, mais c'est pas un wamp. Je sais pas trop ce que c'est, un WHM ? Il y a cPanel qui me permet de l'administrer.
Du coup je sais pas trop comment l'installer xDebug :/

Si c'est un serveur de prod, xdebug n'est pas conseillé. Si tu veux dev, fais toi une vm (avec vagrant+puphpet par exemple).

D'ailleurs, l'interface de Puphpet a changé, je suis perdu maintenant. :(

Genki
Auteur

Plus facile pour moi de faire des tests sur le serveur de prod :P
Vu que je programme pas en local, ni avec un quelconque IDE.

Je programme qu'avec mon script de Files Manager que j'ai developpé :P

Ow, c'est risqué.

Pourquoi le local est préféré ?

  • configuration total possible ;
  • pas de connection necessaire ;
  • sécurité, tu as pas des gens qui peuvent toucher à ton app ;
  • tu touches à rien apart ta machine, tu n'as pas accès aux données du serveur, qui peuvent être sensibles (problème si quelqu'un trouve une brèche dans ton app ou que tu fais une connerie dans ton code).

Je suis pas le seul à dire que, le dev sur le serveur de prod, c'est mal.

Genki
Auteur

Pas de connection nécessaire --> Dans tous les cas j'en ai une, donc ça me change rien.
Configuration total possible --> Bon vu le sujet du topic, c'est peut-être la seule raison qui pour moi est utile.
Sécurité --> Aucun risque, c'est le serveur qui est en production, pas l'app. Ils ont 0 accès les gens.

Pas d'accès au données serveur --> Ca me pose problème, vu que j'en ai besoin, que je dois opéré selon les configurations dudit serveur.
Problème si quelqu'un trouve une brèche dans ton app ou que tu fais une connerie dans ton code --> Que ça soit en test ou en prod, si il y a une brèche, il la trouvera.

Et je code autant chez moi qu'au boulot, mais pas sur le même PC. Du coup, transporter et copier tout le temps les fichiers et configurations du serveur local, non merci, je prefère bossait sur le seul et unique serveur.

Je me doute bien que c'est risqué, que une maladresse peut arriver et pouf pu de fichier. Etc.. Je sais bien que les avis sont partagés, mais pour ma part, je me sens plus à l'aise sur le serveur de prod, vu que c'est là que mon app devra être à la fin. Autant faire les tests grandeur nature dés le début :p

Mais je comprends ta position, je respecte ça pas de soucis :)

Problème si quelqu'un trouve une brèche dans ton app ou que tu fais une connerie dans ton code --> Que ça soit en test ou en prod, si il y a une brèche, il la trouvera.

Bah si il y a une brèche et que ton app a accès à des données sensibles, le méchant loup pourra utiliser cette brèche pour accéder à tes datas.

Et je code autant chez moi qu'au boulot, mais pas sur le même PC. Du coup, transporter et copier tout le temps les fichiers et configurations du serveur local, non merci, je prefère bossait sur le seul et unique serveur.

Dropbox <3

Bref, je comprend ton opinion, mais il faut aussi se souvenir que tu n'auras pas toujours la possibilité de tester sur la prod.

Genki
Auteur

Y a pas vraiment de données sensibles, vu que c'est un blog publique :p
Rien n'y est gardé secret.

Et c'est vrai que Dropbox pourrait faire l'affaire, je n'y ai jamais vraiment pensé, ne l'utilisant pas.
Pour le moment c'est bien comme ça, si un jour je suis contraint à expérimenter ta méthode, je m'y ferai à ce moment là :)