у меня простой базовый класс
class base {
function do_something() {
$result = helper_function();
return $result;
}
private function helper_function() {
return 10;
}
}
Тогда у меня есть главный класс, который наследуется от него.
class my_class extends base {
function __construct() {
echo parent::do_something();
}
}
Чтобы это работало, мне нужно указать parent::do_something()
в my_class
. Я понимаю, и это имеет смысл. Однако этот код выдаст ошибку. Для того, чтобы он работал, я должен указать:
$result = self::helper_function();
Для меня это не имеет никакого смысла. Поскольку он заставляет меня изменить базовый класс, который будет работать сам по себе, если он не будет унаследован Кажется противоречащим модели наследования.
Может быть, я просто делаю это неправильно. Любое понимание будет оценено!