Aller au contenu principal


Gestion des erreurs

Sur votre site de développement, pour faciliter le déroulement de vos tests, il faut désactiver les caches (valable aussi pour drupal 10) et configurer votre site pour qu'il affiche le plus de messages d'erreur possible.

Pour cela  il faut se rendre dans les pages d'administration dédiée au développement  :

  •  la page "Journalisation et erreurs" ("/admin/config/development/logging") ;

  • la page "Paramètres de développement ("/admin/config/development/settings").

Billet créé le :
25 nov 2024

1. Journalisation et Erreurs

Comme l'illustrent les 2 images suivantes, en choisissant "Tous les messages, avec les informations de trace" , au lieu de la page blanche précédée du laconique message" le site web a rencontré une erreur inattendue... ", vous lirez des informations pouvant vous permettre de résoudre le problème rencontré.

Cliquez pour agrandir l'image

Cliquez pour agrandir l'image

2. Paramètres de développement

Cette page affiche 2 case à cocher :

  • Mode développement de Twig : 

    • active le débogage de Twig et fournit la fonction dump() ;

    • génère des suggestions de "template" ou gabarit dans les commentaires HTML ;

    • active également le rechargement automatique de Twig, qui recharger automatiquement tous les modèles modifiés.

  • Ne pas mettre en cache le balisage  :

    • désactive le cache Twig.

l'image ci-dessous illustre l'effet de cette portion de code insérée au début d'un template  pour visualiser l'état des variables.

 {% for key, value in _context %}
   {% if key starts with '_' %}
   {% else %}
       <pre style="background: #eee">{{ key }}</pre>
       {{ dump(value) }}
   {% endif %}
    {% endfor %}

Consulter cette documentation pour en savoir plus sur la découverte et l'analyse des variables

Il est également possible d'installer le modue "twig_vardumper" pour obtenir un résultat analogue.
Cliquer pour agrandir l'image

3. Utiliser le service Messenger de Drupal

   L'image suivante montre l'effet de cette portion de code insérée  dans le code php du contrôleur "LikeForm.php"  du module "dhlike" :

   \Drupal::messenger()->addMessage($this->t('lecture database entity : ' .$entity_id . ' nbLike : '.$like_count ));

Cliquez pour agrandir l'image