3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Mammal { function mate(Mammal $with) { $class = substr(get_class($this), 0, -1) . substr(get_class($with), 1); eval("class $class extends Mammal {}"); return new $class; } } class Cheval extends Mammal {} class Poney extends Mammal {} $mingmong = new Cheval; $charles = new Poney; $charlimong = $mingmong->mate($charles); var_dump($charlimong);

preferences:
44.79 ms | 402 KiB | 5 Q