3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace foo { trait A { function x() { var_dump(self::class); } } } namespace { class B { use \foo\A; } class C { use \foo\A; } class D extends C {} function main() { (new B)->x(); (new C)->x(); (new D)->x(); } main(); }
Output for 5.5.21 - 5.5.38, 5.6.5 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
string(1) "B" string(1) "C" string(1) "C"
Output for 5.5.0 - 5.5.20, 5.6.0 - 5.6.4
string(5) "foo\A" string(5) "foo\A" string(5) "foo\A"

preferences:
239.26 ms | 402 KiB | 326 Q