I'm wondering if its possible to add new class data members at run-time in PHP?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Yes.
$prop = 'newname';
$obj->$prop = 42;
will do the same thing as:
$obj->newname = 42;
Either one will add "newname" as a property in $obj if it does not yet exist.
回答2:
It is. You can add public members are run time with no additional code, and can affect protected/private members using the magical overloading methods __get() / __set(). See here for more details.