Débogage lors du développement d'extensions pour Joomla

Joomla 3

Pour faciliter le débogage sous les version récentes de Joomla (3.7 et +), je préconise de :

  • placer un point d’arrêt, dans /plugin/system/redirect/redirect.php à la liste 84 (méthode handleException).
    En affichant de contenue de la variable $exception vous aurez un peu plus d'information que le fenêtre d'erreur, qui se veut volontairement pas trop bavarde en production.
  • placer un point d’arrêt dans /librairies/src/Exception/ExceptionHandler.php ligne 31 (méthode render)
  • activer le débogage système pour avoir la pile des appels système > configuration > onglet système > débogage système (attention peut provoquer un dépassement de mémoire dans certains cas).

Joomla 4

  • placer un point d’arrêt dans /librairies/src/Exception/ExceptionHandler.php ligne 87 (méthode render)
  • placer un point d'arret dans /librairies/vendor/symphony/error-handler/ErrorHandler.php ligne 556 (méthode handleException)
    Attention : voir remarque ci-dessous.
  • Pour trouver les erreur de routage (url rompues) :
    placer un point d'arret dans /librairies/src/Router/Router.php ligne 156 (méthode parse).

Remarque concernant les points d'arret

Placer bien les points d’arrêt sur une ligne de code exécutable.
Ne les placez pas sur un "try" par exemple, car il risque de na pas être interprété.