Передача объекта вместо имени класса имеет смысл, потому что тогда сборщику мусора будет легче угадать, когда он больше не нужен.
<?php
class A {
public $B;
}
class B {
public $A;
}
$a = new A;
$b = new B;
$a->B = $a;
$b->A = $b;
Кроме того, я бы попытался избавиться от него.методы установки.На практике единственное преимущество, которое они предоставляют, заключается в проверке входных данных.Поскольку здесь дело не в этом, я бы посоветовал вам напрямую назначать классы.
Вы спросили: «Должен ли я использовать ссылки?».На самом деле все объекты передаются по ссылке начиная с PHP5.Единственный способ получить их точную копию - использовать ключевое слово clone .
Кстати, вам не нужно хранить имя класса в каждом объекте.Просто используйте get_class ().