tengo esto:obtener la propiedad estática de una clase con nombre de clase dinámica en PHP
- variable de una cadena que contiene el nombre de la clase (
$classname
) - una variable de cadena con ostenta el nombre de la propiedad (
$propertyname
)
Quiero obtener esa propiedad de esa clase, el problema es que la propiedad es estática y no sé cómo hacer eso.
Si la propiedad no fuera estática, que habría sido:
$classname->$propertyname;
si la propiedad fueron un método, que podría haber utilizado call_user_function
call_user_func(array($classname, $propertyname));
Pero en mi caso, soy yo acaba de perder. Sin embargo, espero que sea posible. Con las miles de funciones que PHP tiene, es mejor que tenga algo para esto también. Tal vez me estoy perdiendo algo?
Gracias!
Editar:
- para aquellos con eval() soluciones: gracias, pero está fuera de la cuestión
- para aquellos con get _class _vars() soluciones: gracias, pero parece que vuelve "las propiedades predeterminadas de la clase dada" (php.net), y sí, me gustaría que el valor de ser cambiable (a pesar de que me ayuda en algunos de los casos)
+1 para la función de envoltura. – nilamo
Oh, Dios mío, estaba a punto de preguntar "pero ¿qué tal establecer ...". Amigo, ¡eres totalmente rockero! – treznik
En PHP 5 en adelante (estoy en 5.2), puedes usar la reflexión para esto, como acabo de aprender. Ver mi respuesta aquí: http://stackoverflow.com/questions/3354628/from-the-string-name-of-a-class-can-i-get-a-static-variable/3364090#3364090 –