PHP : Le débogage et l'analyse de code

Utiliser les fonctions de PHP

Testez gratuitement nos 1300 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
PHP dispose de quelques fonctions utiles pour effectuer des introspections dans le code. Découvrez ici les plus utilisées.
04:52

Transcription

Débugger est une grande question en PHP, c'est presque l'histoire de toute la vie des développeurs. En fait, on produit du code, c'est vrai, mais souvent on débug aussi, et ça c'est vrai aussi, on est souvent en train de débugger. Alors, vous devez connaître très certainement, mais si vous ne les connaissez pas, on va les voir ensemble, les méthodes les plus simples pour débugger du code, évidemment, c'est de l'introspection, il faut aller voir ce qui se passe. On a deux méthodes qui sont les plus importantes, le « var_dump() » et le « die ». Qu'est-ce que c'est que var_dump() ? var_dump() vous permettra sans forcément bloquer l'exécution d'un script, d'afficher ce qui se trouve à l'intérieur d'une variable. Ce qui est bien avec le var_dump(), c'est qu'on va pouvoir afficher le contenu, c'est-à-dire si c'est un tableau, vous aurez le tableau, si c'est une variable vous aurez la variable, si c'est une classe complète, vous aurez des définitions de la classe. Ici, si je fais un var_dump($config); comme ça, directement dans mon code, et que je rafraîchis ma page, effectivement je vais bien avoir ici une information qui me dit que, c'est un « array » et dedans j'ai de l'information, notamment une clé ["name"], qui contient une string de 14 caractères, qui contient "My PHP Website". €Ça c'est très bien, le seul souci ici, c'est que ça s'affiche en plein milieu de la page. Pour débugger, c'est pas forcément évident. Il faut savoir que vous pouvez allier à var_dump() le mot clé die, juste derrière, qui vous permettra de tuer l'exécution du script. Ce qui est bien avec des éditeurs tels que PHPStorm, c'est qu'on vous donne une information. On vous dit que cette partie-là, qui va être soulignée, ne sera pas exécutée parce que vous avez un die. Donc, vous avez à la main, arrêté l'exécution du script. Maintenant si ça, je le rafraîchis, je vois ce que ça donne. Je rafraîchis donc ma page, et ici, vous voyez que ben, je n'ai plus rien du tout qui s'affiche. C'est plutôt embêtant parce que pourtant, mon var_dump() normalement il est sensé passer. var_dump($config), je devrais avoir de l'information. Vous ferez attention, parce que de temps en temps, quand vous êtes comme ça en plein écran, directement ici dans Chrome, vous allez arrêter l'exécution, mais vous savez pas où. Et qui appelle siteName() ? Ben, le premier à appeler siteName(), en fait, en réalité si vous remontez un petit peu, c'est le <title. Et si vous regardez bien votre navigateur, regardez ici, le <title, il est bien à cet endroit-là. Donc on a à l'intérieur du <title le var_dump(), et ça s'est arrêté en cours. €Ça, c'est très embêtant, mais ça fait partie aussi du débug fonctionnel. Et ça, c'est bien et pas bien. Pourquoi ? Parce que à cet endroit-là, ben, on va pas pouvoir avoir l'information réellement, ce n'est pas une exécution en réel, c'est une insertion, en fait, on vient injecter à l'intérieur du <title le contenu, le résultat de la fonction. Alors ça fonctionne, en soi, on a bien ici le var_dump(), mais, on l'a à l'intérieur de l'onglet, donc, en fait, on l'a en tant que <title. Donc ça, ça va nous poser problème de temps en temps, ne pas pouvoir faire de var_dump() comme ça, parce que on est en train d'utiliser du fonctionnel réellement, et ça marche pas forcément super bien. Mais, c'est une des meilleures méthodes existantes, le var_dump(), ben, vous allez le faire à cet endroit-là. Alors maintenant si mon var_dump(), imaginons, je le déplace. Je vais le couper, avec Ctrl+X, ou pomme X, et puis je vais venir le mettre dans le pageContent qu'on a là. Je vais faire un var_dump() de config. Alors on va me dire, mais c'est dommage parce que config, tu peux pas l'utiliser comme ça. Oui, parce que config, vous l'avez ici, tout en haut. Du coup, regardez, il a été défini en tant que global à cet endroit-là, il faudrait ré-écrire ça, global $config; Vous allez insérer du code pour faire un var_dump(), ce n'est pas une bonne idée non plus. Donc, quand vous voulez faire un var_dump(), essayez d'abord à l'avance de penser, de savoir où est-ce que ce var_dump() va être affiché. Si vous voulez vraiment afficher le contenu de var_dump() ici, il faudra le faire juste en dessous de la définition de var_dump(), et donc surtout pas dans une fonction, parce que si vous le faites dans une fonction, eh bien, vous n'allez jamais pouvoir voir le contenu, à part dans l'emplacement qui appelle cette fonction. Ce n'est pas une bonne idée. Ici, voilà, en le faisant en dehors, vous allez bien avoir les informations de ce qui est contenu à l'intérieur de cet array, de ce tableau, à vous de choisir avec le var_dump(), l'emplacement où vous allez faire, eh bien, un affichage des infos, mais faites-le en connaissance de cause, c'est-à-dire, qui appelle par exemple siteName. Parce que sinon, ça va pas marcher, faites attention à ça. Imaginons maintenant que j'appelle ça, voilà, un var_dump() de siteName comme ça. Qu'est-ce qui va se passer ? Bon, on va me dire, voilà, on va me donner le résultat en fait, en réalité, vous allez avoir le résultat, vous allez avoir le echo qui se trouve à l'intérieur. Donc, vous pouvez « var_dump() » n'importe quoi, mais, faites très attention à la façon dont vous allez l'utiliser. On verra que ce n'est pas la meilleure méthode pour faire du débug, mais, c'est en fait la plus simple. Celle-ci vous permet de faire du pas à pas vous même. Vous allez mettre en place à certains endroits des var_dump() pour savoir ce qui est contenu à l'intérieur d'une variable ou d'une fonction, et vous allez quand même avoir l'information. C'est la première chose que l'on pourra faire. Alors, je vais vous le laisser comme ça, voilà, celui-ci fonctionne bien, on voit bien ce qui se trouve dans la variable, et ça, vous pouvez l'utiliser absolument partout.

PHP : Le débogage et l'analyse de code

Abordez le débogage et l’optimisation avec PHP. Déterminez les actions à mener pour améliorer une application, utilisez Xdebug, réalisez des tests unitaires et fonctionnels, etc.

1h32 (24 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :23 févr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !