- Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- object(Foo)#3 (0) { ["bar"]=> uninitialized(bool) ["baz"]=> uninitialized(array) } object(Bar)#2 (2) { ["bar"]=> bool(false) ["baz"]=> array(0) { } }
<?php
final class Foo
{
public bool $bar;
public array $baz;
public function __construct(
bool $bar = false,
array $baz = [],
) {
$this->bar = $bar;
$this->baz = $baz;
}
}
final class Bar
{
public bool $bar = false;
public array $baz = [];
public function __construct(
bool $bar = false,
array $baz = [],
) {
$this->bar = $bar;
$this->baz = $baz;
}
}
$create = static fn(string $class): object => (new \ReflectionClass($class))->newInstanceWithoutConstructor();
var_dump($create(Foo::class));
var_dump($create(Bar::class));