php:对象运行时新增成员变量

发布时间 2023-12-06 16:39:01作者: 黑熊一只

简单到无以复加...

1 class A_test {
2 
3 }
4 
5 $obj = new A_test();
6 $objSupplyProp = "abc";
7 $obj->$objSupplyProp = 123;
8 
9 var_dump($obj);

 

但是动态声明添加成员变量带来一个问题,ide无法有效识别。

那么需要通过注释来解决这个问题:

1 /**
2  * @property type after_obj_name
3  * @property string abc
4  */
5 class A_test {
6 }

ps:

如果在8.x版本中这么使用,可能会报E_DEPRECATED 错误。这是因为在 PHP 8.2 及更高版本中,动态创建类成员变量已被弃用。