3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Repository { public function checkById() { return true; } } class A extends B { public function __construct(array $config) { // other stuff parent::__construct($config); // other stuff } public function check(int $id) { if ( $this->checkSomething($id) ) { return 'bla'; } } public function setLang(string $lang) { $this->repository->setLang($lang); } } class B { protected $repository; protected function __construct(array $config) { $this->repository = new Repository ($config); } protected function checkSomething(int $id) { if ( $this->repository->checkById($id) ) { return TRUE; } } public function get() { return 'whatever'; } } $config = ['some', 'config']; $a = new A($config); var_dump($a->get()); var_dump($a->check(1));

preferences:
54.3 ms | 402 KiB | 5 Q