Самый простой способ получить все статические свойства класса в PHP
У меня есть статический класс Foo (это не реальный класс, поэтому статические поля только для примера)
class Foo{
public static $name = "foo";
public static $age = "18";
public static $city = "Boston";
}
в моем коде я хочу построить массив всех публичных статических свойств и их текущих значений.
есть ли быстрый / простой способ, который любой может предложить сделать это без создания экземпляра Foo?
2 ответов
использовать ReflectionClass
экземпляр такой, чтобы получить массив имен свойств и значений:
$class = new ReflectionClass('Foo');
$staticProperties = $class->getStaticProperties();
foreach ($staticProperties as $propertyName => $value) {
// Your code here
}
использовать отражение
<?php
require_once "Foo.php";
$reflection = new ReflectionClass("Foo");
$staticProperties = $reflection->getStaticProperties();
print_r($staticProperties)