У меня есть 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()
, но также должен был бы передать экземпляр объекта.
Итак, есть ли способ получить список переменных класса, используя только полное имя класса?