isset по атрибутам статического класса

class A { public static $foo = 42; } $class = 'A'; $attribute = 'foo'; var_dump(isset($class::$attribute)); //gives bool(false) 

Как я могу проверить этот атрибут static в этом классе?

Используйте переменные переменные :

 var_dump(isset($class::$$attribute)); // the two dollars are intentional 

Если у вас нет PHP 5.3, то единственный верный способ – это, вероятно, использование Reflection API :

 $reflectionClass = new ReflectionClass($class); $exists = $reflectionClass->hasProperty($attribute) && $reflectionClass->getProperty($attribute)->isStatic(); 

В 5.3 вы можете просто сделать

 var_dump(property_exists($class, $attribute));