3v4l.org

run code in 300+ PHP versions simultaneously
<?php class form { function st() { return "form"; } } class state { function st() { return "state"; } } interface aa { function run(form $form); } abstract class a implements aa{ function run(form $form, $a=null, $b=null) { var_dump($form->st()); echo "$a $b\n"; } } class b extends a { function run(form $form, state $state=null, $a=null, $b=null) { parent::run($form, $a, $b); var_dump($state->st()); } } $form = new form(); $state = new state(); $b = new b(); $b->run($form, $state, 1, 2);

preferences:
30.28 ms | 404 KiB | 5 Q