03/04/2023

3. Debug

Lu 323 fois Licence Creative Commons

Web Profiler

Maintenant que nous avons une première page complète, installons un très puissant outil de debug pour le développement en utilisant l'alias debug avec Composer

composer require --dev debug

En rafraîchissant l'onglet sur le navigateur vous devriez apercevoir la Web Debug Toolbar en bas de page. Elle affiche un résumé d'informations au survol de chaque section.
Au clic sur n'importe quelle section, vous ouvrirez le Profiler qui vous donnera encore plus d'informations.

Ouvrez la toute première section "Request / Response" pour observer les données équivalentes aux superglobales.

Si vous n'êtes pas encore impressionés par cet outil, notez que des sections vont s'ajouter au fur et à mesure que nous installerons d'autres composants et bundles.

Fonctions de debug

La composition des objets dans Symfony peut s'avérer complexe. Debuguer avec var_dump() sera potentiellement illisible. À la place, utilisez dump() ou dd() qui utilisent le Var Dumper de Symfony.

Essayez de faire un dump() du controlleur:

public function index(Request $request): Response
{
    dump($this);
    return $this->render('home/index.html.twig', [
        'controller_name' => $request->attributes->get("_controller"),
    ]);
}

Rafraîchissez le navigateur: rien n'est affiché sur la page. Il faut regarder dans la section Debug du Profiler !
En dehors des pages web, dump() agit bien comme la fonction var_dump().

Remplacez dump() par dd() (pour "dump and die") et rafraîchissez: le debug s'est fait directement sur la page.
Profitez-en pour tester une des fonctionnalités du Var Dumper: cliquez dans la boîte de debug puis effectuez une recherche de request avec Ctrl + F.