Php 修改存储对象
我有两个类,一个存储对另一个的多个引用。在创建第二个类的新实例之后,我以后可能必须更改它的属性,并且希望它更新对该对象的所有引用。有没有办法使对象实例始终按引用传递,以便在对象中更新属性时,它也会更新对该对象的所有其他引用Php 修改存储对象,php,Php,我有两个类,一个存储对另一个的多个引用。在创建第二个类的新实例之后,我以后可能必须更改它的属性,并且希望它更新对该对象的所有引用。有没有办法使对象实例始终按引用传递,以便在对象中更新属性时,它也会更新对该对象的所有其他引用 类用户{ private$members=array(); 公共函数addMember($id){ $member=新成员($id); 数组推送($members,$member); 返回$member; } } 类用户{ 公费$id; __构造($id){ $this->i
类用户{
private$members=array();
公共函数addMember($id){
$member=新成员($id);
数组推送($members,$member);
返回$member;
}
}
类用户{
公费$id;
__构造($id){
$this->id=$id;
}
公共函数addProperty($propName,$propValue){
$this->{$propName}=$propValue;
}
}
因此,目前通过此设置,我可以创建一个新成员并将其添加到成员数组中:
$users=新用户();
$user=$users->addMember(1);
但如果我尝试向成员添加新属性,则如下所示:
$member->addProperty(“职务”、“开发人员”);
该属性未显示在成员数组中,因为未通过引用传递该成员。请参见以下内容:
public function addMember($id) {
$member = new Member($id);
....
这里您创建了一个类成员的对象,但我认为您需要
$member = new User($id);
PHP7.3:属性出现在实例本身和
$members
数组中。