是否可以在PHP中动态添加数据成员?

时间:2020-03-06 15:02:55  来源:igfitidea点击:

我想知道是否有可能在运行时在PHP中添加新的类数据成员?

解决方案

它是。我们可以在运行时添加公共成员,而无需其他代码,并且可以使用神奇的重载方法__get()/ __set()影响受保护/私有成员。有关更多详细信息,请参见此处。

是的。

$prop = 'newname';
$obj->$prop = 42;

将执行与以下操作相同的操作:

$obj->newname = 42;

如果尚不存在,任何一种都会在$ obj中将" newname"添加为属性。