Как обратиться к объекту-контейнеру на PHP? Предположим у вас есть класс A, внутри которого в переменной хранится объект другого класса B. Как обратиться к объекту A, который хранит объект класса B, из функции в классе B, то есть обратиться к «своему» котейнеру? Ну это как будто внутренняя матрешка попытается нарисовать усы у внешней матрешки.
Технически по правилам языка это сделать нельзя, поэтому тут нет и подходящей функции для этого. Но всегда можно придумать обход. Так и сделаем. Всё достаточно прозаично: при создании класса B, мы передадим в него указатель на объект класса A, класс B сохранит этот указатель внутри себя, и при необходимости сможет к нему обратиться.
Рассмотрим на примере как обратиться к объекту-котейнеру на PHP
class B{ private $container; public function setContainer(A $a){ $this->container=$a; } } class A{ public $b_obj; } $a_obj=new A(); $b=new B(); $b->setContainer($a_obj); $a->b_obj=$b;
Вот и всё.