У меня есть класс со свойствами и методами c stati. Один из моих методов - захват свойств Dynami c. Я хочу сделать это динамически, чтобы не было метода для каждого свойства, которое я хочу вернуть. Единственный метод был бы лучше.
Моя проблема в том, что метод возвращает «Неопределенное свойство». Я пробовал различные решения для inte rnet, но ничего не подходит и не работает.
Пример класса:
class Generic
{
public static $propA = "A";
private static $propB = "B";
protected static $propC = "C";
public static function getProperty(string $property): string
{
if (!property_exists('Generic', $property)) :
return "Undefined Property";
endif;
return self::$$property;
}
}
Использование:
print_r(Generic::getProperty('propA'));
Это возвращается, как если бы свойство не существует. Фактически, видимость не имеет значения, поскольку все они возвращаются, как будто их не существует. Кроме того, я знаю, что это работает, когда не используются переменные stati c. Я бы предпочел продолжать использовать переменные stati c.