3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class ParentTest { public static function fromDB(string $name = '') { $instance = new static(); if (!empty($name)) { $instance->setName($name)->read(); } return $instance; } public abstract function read(); public abstract function setName(string $name): self; } class Child extends ParentTest { public function read() { } public function setName(string $name) :ParentTest { return $this; } } $child = new Child();

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
50.05 ms | 1969 KiB | 4 Q