Helper Dumper


1Présentation

Ce helper sert à écrire le contenu d'une variable, dans un style plus exploitable que les fonctions print_r() et var_dump() natives de PHP.

Il est capable de générer un flux en texte brute, en texte utilisant un formatage ANSI, ou en HTML.

Pour afficher le contenu d'une variable dans un template Smarty, vous pouvez utiliser le modificateur et la balise de bloc Smarty dédiés.

Les méthodes statiques dump(), dumpText(), dumpAnsi() et dumpHtml() servent à générer un flux directement à partir d'une variable. La méthode statique die() sert à écrire un flux à partir d'une variable puis à quitter.


2Donnée d'exemple

Voici la donnée qui sert dans les exemples suivants :

class Toto {
    protected int $bb = 12;
    public string $aa = 'abcdef';
    static public float $cc = 12.3;
}

$toto = new Toto();
$var = [
    1,
    'toto' => 2.34,
    [
        'tata',
        [123, 'titi', 'tutu'],
    ],
    "abc\ndef\nghi",
    $toto,
];

3die() : dump et arrêt des traitements

La méthode statique die() écrit le contenu d'une variable (de manière adaptée à l'environnement, comme la méthode dump() ci-dessous), puis arrête les traitements (appel à exit(1)).

Exemple d'utilisation :

use \Temma\Utils\Dumper as TµDumper;

TµDumper::die($var);

4dump() : génération adaptée

La méthode statique dump() détecte si le code s'exécute en ligne de commande ou en environnement web. En fonction de cela, elle appelle la méthode dumpAnsi() ou dumpHtml() (voir ces méthodes ci-dessous).

Exemple d'utilisation :

use \Temma\Utils\Dumper as TµDumper;

$text = TµDumper::dump($var);
print($text);

5dumpText() : génération texte brut

Exemple d'utilisation :

use \Temma\Utils\Dumper as TµDumper;

$text = TµDumper::dumpText($var);
print($text);

Résultat :


6dumpAnsi() : génération texte ANSI

Exemple d'utilisation :

use \Temma\Utils\Dumper as TµDumper;

$text = TµDumper::dumpAnsi($var);
print($text);

Résultat :


7dumpHtml() : génération HTML

Exemple d'utilisation :

use \Temma\Utils\Dumper as TµDumper;

$text = TµDumper::dumpHtml($var);
print($text);

Résultat :