Это возможно?
Допустим, есть два объекта одного типа:
$object1->object2->property = 'xxxx';
теперь это делается через __set (). В этот момент я попадаю в область object2 (которая является свойством object1). Как я могу получить доступ к объекту1 из этой функции __set?
Вы не можете.
object1
не является родительским, это контейнер. Если вы хотите получить доступ к функции object1
из object2
, вы должны иметь ссылку на object1
.
Используйте такой шаблон:
class class1 { public $child; public function __construct() { $this->child = new class2($this); } } class class2 { private $parent; public function __construct(class1 $parent) { $this->parent = $parent; } }
Это то, что вы ищете?
Попробуйте использовать parent::
from внутри дочернего класса.