3v4l.org

run code in 300+ PHP versions simultaneously
<?php #[Attribute(Attribute::TARGET_METHOD)] class A { } class B { #[A] public function m() { } } $a = new B(); $c = [$a, 'm']; $r = new ReflectionFunction($c(...)); var_dump($r->getAttributes()[0]->newInstance());
Output for 8.1.0 - 8.1.5, 8.1.30 - 8.1.33, 8.2.21 - 8.2.29, 8.3.5 - 8.3.25, 8.4.1 - 8.4.12
object(A)#5 (0) { }
Output for 8.1.6 - 8.1.8
Fatal error: Uncaught Error: Attribute "A" cannot target function (allowed targets: method) in /in/fepGP:19 Stack trace: #0 /in/fepGP(19): ReflectionAttribute->newInstance() #1 {main} thrown in /in/fepGP on line 19
Process exited with code 255.
Output for 8.0.1 - 8.0.21
Parse error: syntax error, unexpected token ")" in /in/fepGP on line 18
Process exited with code 255.
Output for 7.4.0 - 7.4.30
Parse error: syntax error, unexpected ')' in /in/fepGP on line 18
Process exited with code 255.

preferences:
69.91 ms | 409 KiB | 5 Q