3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); enum ImageBoardDomains: string { case Dvach = 'ru'; case Sosach = 'so'; case Harkach = 'hk'; } abstract class ImageBoard { abstract public function getDomain(): string; } class Dvach extends ImageBoard { public function getDomain(): string { return ImageBoardDomains::Dvach->value; } } class Sosach extends ImageBoard { public function getDomain(): string { return ImageBoardDomains::Sosach->value; } } class Harkach extends ImageBoard { public function getDomain(): string { return ImageBoardDomains::Harkach->value; } } print_r(ImageBoardDomains::cases());

preferences:
24.47 ms | 404 KiB | 5 Q