Я пытаюсь получить доступ к статической переменной внутри класса, используя имя класса переменной. Я знаю, что для доступа к функции в классе вы используете call_user_func()
:
class foo {
function bar() { echo 'hi'; }
}
$class = 'foo';
call_user_func(array($class, 'bar')); // prints hi
Однако это не работает при попытке доступа к статической переменной в классе:
class foo {
public static $bar = 'hi';
}
$class = "foo";
call_user_func(array($class, 'bar')); // nothing
echo $foo::$bar; // invalid
Как мне узнать эту переменную? Это вообще возможно? У меня плохое предчувствие, что это доступно только в PHP 5.3, и я использую PHP 5.2.6.