Tracy umí rozepisovat flagy, konstanty apod

- David Grudl
- Nette Core | 8285
Znáte to. Dumpujete nějaký objekt a ten má property
int $type, jehož hodnotu určuje konstanta (např).
Vidět číslo 3 je nicneříkající, srozumitelné by bylo
Line::UNCHANGED.
Co teprve, když jde o bitovou kombinaci několika konstant, např.
PREG_OFFSET_CAPTURE | PREG_UNMATCHED_AS_NULL. Vidět, že
$flags je 768, člověku nic neřekne.
Příklad přímo z PHP
dump(PhpToken::tokenize('<?php echo(10);')):

Tracy od verze 2.10 to umí řešit a pokusí se číslo dekomponovat na konstanty:

Stačí říct, o kterou property se jedná a jaké konstanty mohou představovat hodnotu:
Dumper::addEnumProperty(Line::class, 'type', ['Line::ADDED', 'Line::REMOVED', 'Line::UNCHANGED']);
nebo v případě toho PhpToken:
Dumper::addEnumProperty(PhpToken::class, 'id', array_keys(get_defined_constants(true)['tokenizer']));
Tracy 2.10 je připravená k vydání, budu rád, když ji zkusíte otestovat.