【发布时间】:2018-09-20 01:09:38
【问题描述】:
我有一个 POPO(普通旧 PHP 对象):
namespace App\Objects;
class POPO {
private $foo;
private $bar;
// getters and setters //
}
在其他地方,我有一个(详细信息 - 类的作用并不重要)类,它需要知道 POPO 的属性名称。 POPO 没有传递给这个类,这个类也不实例化 POPO 或关心它的属性值。
class POPODetails {
private $POPOclassName = "App\Object\POPO"; //determined programatically elsewhere.
public getProperties(): array {
return get_class_vars($this->POPOClassName); //this will only return public properties.
}
}
要使用get_object_vars,我需要传入一个实例化对象,否则我不需要它,并且仍然只能获得公共属性。我可以使用ReflectionClass::getProperties(),但还需要传入一个实例化对象。
那么,有没有办法只使用完全限定的类名来获取类变量列表?
【问题讨论】:
标签: php reflection private-members