Foros del Web » Programando para Internet » PHP »

Runtime Upcasting y get_object_vars

Estas en el tema de Runtime Upcasting y get_object_vars en el foro de PHP en Foros del Web. Hola Foro, como estan? Tengo una pequeña consulta: Yo tengo las siguientes clases. class A{ private $nombre; private $apellido; } class B extends A{ private ...
  #1 (permalink)  
Antiguo 09/05/2011, 14:00
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 1
Runtime Upcasting y get_object_vars

Hola Foro, como estan?

Tengo una pequeña consulta:

Yo tengo las siguientes clases.

class A{
private $nombre;
private $apellido;
}

class B extends A{
private $cuit;
}

Y este es el pseudocodigo que quiero lograr.

$b = new B();
//trabajo......
//trabajo......
//trabajo......
//y en un momento quisiera hacer el siguiente upcasting al estilo C++
$atributos = get_object_vars( (A) $b );

En otras palabras, quisiera tener un array con los nombres de los
atributos de la clase padre. No quisiera hacerlo a mano ya que
quisiera que sirva para "B extends A", "D extends C", "F extends E",
etc.

Es posible esto? El upcasting me dice "Unexpected T_STRING"

Saludos!
  #2 (permalink)  
Antiguo 09/05/2011, 15:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Runtime Upcasting y get_object_vars

¿Te gustaría leer el manual para investigar si es posible lo que imaginas o quieres esperar a que alguien lea el manual por ti y te lo diga?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/05/2011, 12:49
 
Fecha de Ingreso: julio-2007
Mensajes: 13
Antigüedad: 16 años, 8 meses
Puntos: 1
Respuesta: Runtime Upcasting y get_object_vars

Encontre lo que necesitaba, la version OOP y la version estructurada:

Opcion OOP usando Reflection:

//teniendo $b = new B();
$reflector = new ReflectionClass('B');
$properties = $reflector->getParentClass()->getProperties();

Usando Estructurada:

$vars = get_class_vars(get_parent_class(get_class($b)));

Gracias!

Etiquetas: upcasting
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:25.