3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class Abunyasha { public function ban (): string { $this->poshatatMakabu(); $this->goToMailRu(); // И ещё много всякого кода, который на 100% одинаков для всех наследников. return "Ban po prichine: " . $this->getReason() . "!"; } public function poshatatMakabu () : void { var_dump("2ch ypal"); } public function goToMailRu () : void { var_dump("prepare your anus"); } abstract public function getReason(): string; } class AnonOne extends Abunyasha { public function getReason(): string { return "ti pidor"; } } class AnonTwo extends Abunyasha { public function getReason(): string { return "ti animeshnik"; } } class AnonThree extends Abunyasha { public function getReason(): string { return "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 git.master_jit, git.master, rfc.property-hooks
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!"

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
28.9 ms | 406 KiB | 5 Q