Dostęp do zmiennych statycznych klasy podrzędnej z klasy nadrzędnej?

Mam klasę bazową, której muszę wywołać funkcje w klasie, do której odwołuje się klasa podrzędna.

Wystarczająco łatwe,

class base_class {

    public function doSomethingWithReference(){
        $this->reference->doSomething();
    }
}

class extended_class extends base_class{

    protected $reference;

    public function __construct($ref){
        $this->reference = $ref;
    }
}

Teraz to działa dobrze,

Ale kiedy debuguję, nie obchodzi mnie wartość$this->reference

Ale ten przedmiot$this->reference odnosi się do jest ogromny!

więc kiedy to robięprint_r($instanceOfExtendedClass) Wydobywam wydruk z tego obiektu.

Odniesienie jest teraz inne dla każdej klasy, która się rozszerzabase_class.

To, co chciałem zrobić, było właśnie ustawionereference jako nieruchoma właściwośćextended_class klasa.

Ale potem zmianadoSomethingWithReference byćself::$reference zgłasza niezdefiniowany błąd zmienny.

I odwrotnie ustawianie zmiennej statycznej wbase_class i modyfikowanie goextended_class nie działa, ponieważ zmienia zmienną dla wszystkiego, co rozciąga się od tej klasy.

Czy jest jakiś sposób, aby to zrobić, więc nie mogę wydrukować$this->reference?

questionAnswers(2)

yourAnswerToTheQuestion