Estoy intentando acceder a una variable estática dentro de una clase mediante el uso de un nombre de clase variable. Soy consciente de que con el fin de acceder a una funcióndentro de la clase, se utiliza call_user_func()
:
class foo {
function bar() { echo 'hi'; }
}
$class = 'foo';
call_user_func(array($class, 'bar')); // prints hi
Sin embargo, esto no funciona cuando se trata de acceder a una variable de estática dentro de la clase:
class foo {
public static $bar = 'hi';
}
$class = "foo";
call_user_func(array($class, 'bar')); // nothing
echo $foo::$bar; // invalid
¿Cómo puedo obtener esta variable? ¿Es posible? Tengo un mal presentimiento de que solo está disponible en PHP 5.3 en el futuro y estoy ejecutando PHP 5.2.6.
@Krinkle, por favor no se acostumbre a agregar texto en negrita, no ayuda tanto como a mucha gente. ¡Gracias! – sarnold