3v4l.org

run code in 300+ PHP versions simultaneously
<?php final class AnonymousClassImporter { static public function __set_state($data){ return new class($data){ public function __construct($data){ foreach($data as $key => $value){ $this->{$key} = $value; } } }; } } spl_autoload_register(function($name){ if(str_starts_with($name, "class@anonymous\0")){ class_alias('AnonymousClassImporter', $name); } }, prepend: true); $imported = ('class@anonymous' . "\0" . '/in/RXBTu:3$0')::__set_state(array( 'x' => 12, )); var_dump($imported);
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Deprecated: Creation of dynamic property class@anonymous::$x is deprecated in /in/2HgDQ on line 8 object(class@anonymous)#2 (1) { ["x"]=> int(12) }
Output for 8.0.1 - 8.0.30, 8.1.0 - 8.1.28
object(class@anonymous)#2 (1) { ["x"]=> int(12) }

preferences:
91.44 ms | 402 KiB | 89 Q