Découvrir Symfony3

Afficher des informations de débogage avec dump

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Dump vous permet de passer des informations dans la barre de débogage. Il permet aussi de ne pas arrêter l'exécution de votre application.
05:28

Transcription

Alors, vous connaissez très certainement le var-dump on l'utilise très souvent nous, en tant que développeur. Bien, avec symfony, une extension qui est superbe, c'est le dumper, le var-dumper. Je vais vous montrer comment il marche ce var-dumper, ce n'est pas très compliqué. La première chose que vous allez faire pour pouvoir l'utiliser, c'est ça : en console, composer require symfony/var-dumper. Vous allez lancer ça. Ça va vous installer le var-dumper. Donc concrètement, vous allez ajouter à votre composer.json cette extension-là et elle va être installée sur votre projet. Il n'y a rien d'autre à faire, il faut simplement lancer cette commande. Parce que ça ne vient pas forcément d'origine. Au moins comme ça, vous garantissez que vous l'avez bien installé. Une fois que ce sera installé, là vous allez être tranquille. Donc, une fois qu'on a tout ça qui est passé, on va se rendre dans notre code. Et à l'intérieur de notre code, ici, par exemple dans MyController, plutôt que d'utiliser le var_dump qui marche bien en soi, quand vous faites un var_dump comme ça, vous pouvez mettre à l'intérieur 'toto' sans aucun problème et puis vous faites un die. Ça, c'est sympa, ça marche. Est-ce que ça marche, ça ? Bien sûr. Il n'y a pas de problème avec ça. On va se rendre sur My, puis on va le lancer. Ça va bien afficher "toto". Bon. Très bien. Le problème, moi, que j'ai ici, c'est quand je vais commencer à vouloir faire du dump de quelque chose dans mon code. Je vais bloquer l'exécution de ma page, je ne vais pas aller jusqu'au bout du rendu. Alors que de temps en temps, en réalité, on veut avoir une information, on veut dumper quelque chose mais on n'a pas forcément envie que ça casse l'exécution de la page. Non, on préfèrerait que ça continue. Et puis, comme ça, vu que ça continue, bah du coup, on va pouvoir continuer à utiliser la page mais quand même avoir l'information. Ça, de base, ce n'est pas possible en PHP. Vous pourriez me dire : "Oui, bah, tu enlèves le 'die' et puis c'est tout !" Alors, j'enlève le 'die' et puis c'est tout, c'est bien mais ça vient quand même casser mon template. Aie, moi, ça m'embête tout ça. Alors, si vous voulez utiliser quelque chose de propre en symfony, il faut savoir que le var-dumper, il est intégré à la barre qu'on a en bas et vous allez pouvoir interagir avec. Et vous allez voir, c'est génial. Vous allez simplement écrire dump, comme ça, dump. Et vous mettez ce que vous voulez dedans. Vous mettez un objet, un array, une class, n'importe quoi, vous mettez un truc dedans, vous avez envie de dumper. Vous avez envie d'avoir une information comme le var-dump mais en un petit peu plus joli et surtout que ça ne casse pas. C'est ça le grand intérêt, que ça ne casse pas l'exécution de votre script. Ça continue à *** Et là, vous allez recharger. Et vous allez voir que dans votre page, en bas, vous allez maintenant obtenir une petite cible qui va vous dire exactement à quel endroit précisément vous allez placer votre dump et ce qui se trouve à l'intérieur, et ça c'est génial parce que pour le coup, ici vous allez avoir les informations qui sont rangées dans un emplacement bien précis pour du dump, pour voir ce qui se passe sans casser le fonctionnement. Et ça, je peux vous dire que c'est la panacée. Il n'y a pas mieux parce que réellement ici, on n'a pas de fin d'exécution du script. Le script continue à tourner. Ça, c'est génial. Maintenant, si j'ai envie d'avoir plus d'informations, je peux aussi cliquer dessus. Et il y a maintenant un panneau, un panneau qui s'appelle Debug. Et ce panneau Debug, il vous donnera les informations. Et ce qui est cool, c'est que vous allez pouvoir remettre où vous voulez des dump, il n'y a aucun problème. Or, maintenant, si j'essaie avec un gros objet, Request, je vais faire un dump de la Request. Il est fou, il est fou ! C'est parti ! On va faire un dump. Et regardez : qu'est-ce que c'est beau, c'est propre, c'est nickel, c'est bien rangé. On peut refermer les groupes, on peut rouvrir les groupes. On peut naviguer à l'intérieur réellement. C'est quand même beaucoup plus joli que d'avoir ça même si vous le passez dans un xdebug on est bien d'accord que ça, c'est absolument illisible. Puis, il n'y a plus de barres, il n'y a plus rien, il n'y a plus d'informations. Ce n'est pas intéressant. Alors qu'avec dump, là, vous allez obtenir quelque chose de propre. Et si je vais dedans, regardez, tout est bien rangé, tout est bien nickel. Sachez également que cette extension, elle est intelligente, ce qui veut dire que si je passe des objets Doctrine ou si je passe n'importe quoi à l'intérieur, ça va me filtrer les informations pour que je n'obtienne que ce qui est vraiment intéressant. Et surtout, ça vous donne les class finales, ça vous donne pas mal de choses. On sait que les attributes, c'est un ParamaterBag. On sait que request, c'est un ParameterBag. On sait que server, c'est un ServerBag. On sait que files, c'est un FileBag. Donc, ça donne des informations essentielles pour pouvoir développer convenablement. Ça vous donne aussi des informations pour pouvoir aller plus loin. Ça, c'est important. Regardez : session, c'est un objet Session. Si c'est un objet Session, ça veut dire forcément quelque part, il y a une class Session, une class Session que vous pouvez aller voir, vous pouvez chercher la class session, vous pouvez aller regarder comment elle est créée, qu'est-ce qu'elle implémente. Ça vous donne des informations. Ça vous permet d'aller plus loin. Et du coup, ça va vous procurer une sensation qui permet de se dire : ah bah attendez, là moi, je vais aller regarder. Je vais être un peu curieux, je vais creuser. Si vous n'avez pas ce genre d'extensions-là, vous ne creuserez pas, vous allez en rester à des trucs qui sont flat, c'est-à-dire qui sont à plat, des trucs qui ne sont pas lisibles et ça ne vous donne pas envie d'aller plus loin. C'est le genre d'extension musthave à avoir dans son projet qui permet d'aller plus loin et surtout d'avoir toutes les informations sous la main et de pouvoir dumper tout ce que vous voulez. Donc, installez ça, utilisez le dump, utilisez-le le plus possible dès que vous avez le moindre problème ou dès que vous avez envie d'en savoir plus sur un objet une class ou n'importe quoi. Ça vous donnera les infos, ça ne bloquera pas l'exécution de la page, qu'est-ce que je peux vous dire de plus. C'est génial ! Le dump, c'est vraiment la meilleure des informations que vous puissiez avoir dans symfony. C'est l'extension qui manquait. Maintenant, elle existe. Alors, on l'utilise.

Découvrir Symfony3

​Prenez en main Symfony3 pour développer des applications riches. Apprenez à créer des routes et des contrôleurs, créez des formulaires, sauvegardez des données, etc.

3h27 (45 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :7 avr. 2016

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 !