С клонирования php.net Страница справочника ,
Когда объект клонируется, PHP 5 выполнит поверхностную копию всех
свойства объекта. Любые свойства, которые являются ссылками на другие
переменные, останутся ссылками.
, но $name
- это скалярная переменная (строка), а не объект. Поэтому, когда вы клонируете $a
в $b
, $a->name
и $b->name
являются различными переменными. т.е.) $b->name
не ссылается $a->name
Короче говоря, я не верю, что это возможно (пожалуйста, поправьте меня, если я ошибаюсь). Тем не менее, вы можете обмануть и сделать что-то вроде:
class P
{
public $name;
public function __construct(){
$this->name = new StdClass();
$this->name->text = 'Chandler';
}
}
Тогда $a->name->text = 'Muriel';
также изменится $b->name->text
.