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 :

  1. activer le fichier "settings.local.php"  ;

  2. se rendre dans les pages d'administration dédiées au développement :

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

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

Billet créé le :
25 nov 2024

0 : Configuration de "settings.php" sur le serveur local

Comme il est mentionné dans les commentaires en en-tête du fichier "settings.local.php" reproduit ci-dessous :

* To activate this feature, copy and rename it such that its path plus
* filename is 'sites/default/settings.local.php'. Then, go to the bottom of
* 'sites/default/settings.php' and uncomment the commented lines that mention
* 'settings.local.php'.

il faut rendre actif ce fichier "settings.local.php" en :

  1. placant les lignes de code ci-dessous (qui sont les lignes décommentées selon la préconisation citée ci-dessus) à la fin du fichier "settings.php" :

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
include $app_root . '/' . $site_path . '/settings.local.php';
}

  1. en copiant le fichier "settings.local.php" dans le dossier "site/default".

Pour effectuer une mise à jour (http://localhost/update.php), sans être connecté avec un compte "administrateur", penser à donner la valeur TRUE à la variable "$settings['update_free_access']".

$settings['update_free_access'] = TRUE;

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