Как обратиться к объекту-контейнеру на 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;

Вот и всё.