3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class Abunyasha { abstract public function ban (): string; public function poshatatMakabu () : void { var_dump("2ch ypal"); } public function goToMailRu () : void { var_dump("prepare your anus"); } } class AnonOne extends Abunyasha { public function ban (): string { $this->poshatatMakabu(); $this->goToMailRu(); // И ещё много всякого кода, который на 100% одинаков для всех наследников. return "Ban po prichine: " . "ti pidor" . "!"; } } class AnonTwo extends Abunyasha { public function ban (): string { $this->poshatatMakabu(); $this->goToMailRu(); // И ещё много всякого кода, который на 100% одинаков для всех наследников. return "Ban po prichine: " . "ti animeshnik" . "!"; } } class AnonThree extends Abunyasha { public function ban (): string { $this->poshatatMakabu(); $this->goToMailRu(); // И ещё много всякого кода, который на 100% одинаков для всех наследников. return "Ban po prichine: " . "ti postil cp" . "!"; } } $aOne = new AnonOne(); var_dump($aOne->ban()); $aTwo = new AnonTwo(); var_dump($aTwo->ban()); $aThree = new AnonThree(); var_dump($aThree->ban());
Output for 8.1.25 - 8.1.33, 8.2.12 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
string(8) "2ch ypal" string(17) "prepare your anus" string(26) "Ban po prichine: ti pidor!" string(8) "2ch ypal" string(17) "prepare your anus" string(31) "Ban po prichine: ti animeshnik!" string(8) "2ch ypal" string(17) "prepare your anus" string(30) "Ban po prichine: ti postil cp!"

preferences:
71.69 ms | 407 KiB | 5 Q