Které properties by měl dump() zobrazovat?
- David Grudl
- Nette Core | 8227
Objekt může mít víc properties než deklaruje třída, nebo naopak můžeme z něj některé unsetnout nebo je neinicializovat.
Které by měl dump() v Tracy zobrazovat?
class Foo
{
public ?int $normal = 1;
public ?int $uninitialized;
public $unset;
}
$foo = new Foo;
$foo->additional = 10;
unset($foo->unset);
dump($foo);
(Současné chování je takové, že zobrazuje ty properties, které mají
nějakou hodnotu, tedy $normal
a $additional
.)
- David Grudl
- Nette Core | 8227
Mám dojem, že technicky mezi unset a uninitialized je rozdíl jen v tom, že to druhé má typehint. Takže budu zobrazovat asi obojí takto:
- David Grudl
- Nette Core | 8227
Ještě jsem řešil pořadí těch properties:
- na začátek dávám dynamické, tedy ty co nejsou ve třídě (nemají viditelnost pub/pro/pri)
- pak properties potomka
- pak properties rodiče, prarodiče, …