3v4l.org

run code in 300+ PHP versions simultaneously
<?php trait aTrait { public static function build($x) { return new static($x); } } class A { public function __construct($x) { $this->x = $x; } use aTrait; } class B { public function __construct($x) { $this->x = $x * 2; } use aTrait; } $a = A::build(2); $b = B::build(2); var_dump($a); var_dump($b);
Output for 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Deprecated: Creation of dynamic property A::$x is deprecated in /in/BogSt on line 12 Deprecated: Creation of dynamic property B::$x is deprecated in /in/BogSt on line 20 object(A)#1 (1) { ["x"]=> int(2) } object(B)#2 (1) { ["x"]=> int(4) }
Output for 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.34
object(A)#1 (1) { ["x"]=> int(2) } object(B)#2 (1) { ["x"]=> int(4) }

preferences:
109.12 ms | 1632 KiB | 4 Q