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
?