У меня есть классКак вызвать перекрытый метод в детстве, на родительском классе
class foo {
function do_something() {
load();
}
function load() {
//things
echo 'load from foo';
}
}
И еще один класс, расширяющий Foo (дочерний класс):
class bar extends foo {
function load() {
//things
echo 'load from bar (child)';
}
}
А потом :
$obj = new bar();
То, что я хочу знать, как я могу назвать $obj->do_something()
таким образом, что метод использует метод ребенка «нагрузки» вместо метода decla красный в классе foo.
Итак, я хочу выход быть:
$obj->do_something();
Выход: load from bar (child)
Возможно ли это с PHP?
Спасибо!
Это «работает», но я бы не рекомендовал его, как использование 'static' разрешить вызов метода может привести к весьма запутанным ошибкам данных статическими контекст, в отличие от '$ this', который всегда будет корректно разрешаться для текущего экземпляра. – Dan
На самом деле, я за это. – mpyw
Извините, я не понимаю; вы полагаете, что использование 'static' вместо' $ this' предпочтительнее по какой-то причине? – Dan