У меня есть базовый класс, который мне нужно вызвать функции класса, на который ссылается дочерний класс.
Достаточно легко,
class base_class {
public function doSomethingWithReference(){
$this->reference->doSomething();
}
}
class extended_class extends base_class{
protected $reference;
public function __construct($ref){
$this->reference = $ref;
}
}
Теперь это отлично работает,
Но, когда я отлаживаю, мне не важно значение $this->reference
Но объект, на который ссылается $this->reference
, огромен!
поэтому, когда я делаю print_r($instanceOfExtendedClass)
, я получаю распечатку этого объекта.
Теперь ссылка для каждого класса отличается от base_class
.
Я хотел просто установить reference
как статическое свойство в классе extended_class
.
Но, изменив doSomethingWithReference
на self::$reference
, выдается ошибка переменной undefined.
И наоборот установка статической переменной в base_class
и ее изменение из extended_class
не работает, поскольку она изменяет переменную для всего, что распространяется от этого класса.
Есть ли способ сделать это, поэтому я не получаю распечатку из $this->reference
?