В следующем PHP-коде я хотел бы заменить магическую константу __CLASS__
в классе Foo
с помощью функции __X__()
(или что-то подобное), чтобы при использовании метода hello()
вызывается из экземпляра $bar
класса Bar
, он печатает hello from Bar
(вместо hello from Foo
). И я хочу сделать это без переопределения hello()
внутри Bar
.Версия __CLASS__, которая связывается во время выполнения, а не во время компиляции
Так что я хочу версию __CLASS__
, которая динамически связывается во время выполнения, а не во время компиляции.
class Foo {
public function hello() {
echo "hello from " . __CLASS__ . "\n";
}
}
class Bar extends Foo {
public function world() {
echo "world from " . __CLASS__ . "\n";
}
}
$bar = new Bar();
$bar->hello();
$bar->world();
ВЫВОД:
hello from Foo
world from Bar
Я ХОЧУ ЭТО ВЫХОД (без перекрывая hello()
внутри Bar
):
hello from Bar
world from Bar
@JohnSonderson Добро пожаловать! Хороший день: D – Rizier123
Это хороший ответ. Благодарю. :-) –