Это нормально, и я не буду считать это неинтуитивным (для экземпляров объекта):
$object1 = new stdClass();
Назначает новый экземпляр объекта $object1
.
$object2 = $object1;
Назначает объектэкземпляр $object2
.
$object3 = clone $object1;
Назначает новый экземпляр объекта, клонированный из существующего экземпляра объекта, на $object3
.
Если это не так, каждый раз, когда вам нужнопередать конкретный экземпляр объекта, вам нужно будет передать его по ссылке.По крайней мере, это обременительно, но PHP сделал это в версии 4 (сравните zend.ze1_compatibility_mode
core ).Это было бесполезно.
Клонирование позволяет объекту указать, как он копируется .