3v4l.org

run code in 300+ PHP versions simultaneously
<?php #[Attribute(Attribute::TARGET_CLASS)] class DisableReturnValueGenerationForTestDoubles{} #[DisableReturnValueGenerationForTestDoubles] abstract class Foo {} class Bar extends Foo {} #[DisableReturnValueGenerationForTestDoubles] class Baz extends Foo {} $attributes = (new ReflectionClass(new Bar()))->getAttributes(DisableReturnValueGenerationForTestDoubles::class); var_dump($attributes); $attributes = (new ReflectionClass(new Baz()))->getAttributes(DisableReturnValueGenerationForTestDoubles::class); var_dump($attributes);
Output for 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array(0) { } array(1) { [0]=> object(ReflectionAttribute)#2 (0) { } }

preferences:
68.91 ms | 402 KiB | 62 Q