¿Cómo iterar a través de las propiedades de clase actuales (no heredadas de una clase primaria o abstracta)?
Sé que PHP5 te permitirá recorrer las propiedades de una clase. Sin embargo, si la clase extiende otra clase, también incluirá todas las propiedades declaradas en la clase padre. Eso está bien y todo, no tengo quejas.
Sin embargo, siempre entendí a SELF como un puntero a la clase actual, mientras que $ esto también apunta al objeto actual (incluidas las cosas heredadas de un padre)
¿Hay alguna manera de que pueda iterar SOLO a través de las propiedades de la clase actual? Razón por la que pregunto esto ... Estoy usando CI e iterando a través de $ esto incluye toneladas de propiedades principales que no necesito.
<?php
class parent
{
public $s_parent = "Parent sez hi!";
public $i_lucky_number = 6;
}
class child extends parent
{
public $s_child = "Child sez hi!";
public $s_foobar = "What What!!";
public $i_lucky_number = 7;
public iterate()
{
foreach ($this as $s_key => $m_val)
{
echo "$s_key => $m_val<br />\n";
}
}
}
$o_child = new child();
$o_child->iterate()
La salida es
s_parent => Parent sez hi!
s_child => Child sez hi!
s_foobar => What What!!
i_lucky_number => 7
NO QUIERO ver "s_parent => Parent sez hi!"
Solo quiero recorrer las propiedades de la clase actual. No los heredados en otro lugar.
Gracias por adelantado.