all

Depuis SPIP 3.3 [1] On peut déclarer dans la globale $GLOBALS['spip_pipeline']['all'] des fonctions qui seront appelées sur tous les pipelines.

Exemple :
$GLOBALS['spip_pipeline']['all'] = '||raydebug_trace_pipelines';

La fonction indiquée reçoit simplement les arguments des pipelines appelés, pas leur nom. Elle doit donc retrouver le nom du pipeline appelé en interrogeant la pile d’appel obtenue par debug_backtrace().

Exemple récupérant aussi d’autres infos relatives à l’appel du pipeline :

$trace = debug_backtrace();
while ($t = array_shift($trace) and $t['function'] !== 'pipeline');
if ($t) {
  $pipeline = reset($t['args']);
  $avant_pipeline = (empty($t['args'][1]) ? null : $t['args'][1]);
  $apres_pipeline = reset($args);
  $file = $caller['file'];
  $line = $caller['line'];
}

Ce pipeline est utile surtout pour le debug puisqu’il permet de tracer les appels des pipelines.

Notes

Auteur JLuc Publié le : Mis à jour : 03/05/21