Дополнить метод базового класса новым функционалом PHP

Давно не могу найти ответ на вопрос сразу код

<?php

Class A{

 public function foo(){
  echo "foo";
}
}
Class B extends A  { // или без extends
public function extend_foo(){
  echo "<br>extended_foo";
}
}

$a = new A;
$a->foo()// должно вывести foo<br>extended_foo
?>

Фишка в чем если возможность дополнять функционал метода в классе A (используя средства ООП) методом из класса B вызывать надо именно!! дополненный функционалом метод foo из класса A!!


Ответы (1 шт):

Автор решения: cy4oHok

Если я правильно понял суть вопроса, то, зная имя дочернего класса, самое простое вот так

<?php

Class A {
    public function foo() {
        $child = new B();
        echo "foo".$child->extend_foo();
    }
}

Class B {
    public function extend_foo(){
        echo "<br>extended_foo";
   }
}

$a = new A;
$a->foo();// должно вывести foo<br>extended_foo
?>

→ Ссылка