Я знаю, что PHP5 позволит вам перебирать свойства класса. Однако, если класс расширяет другой класс, он будет также включать все те свойства, которые объявлены в родительском классе. Это нормально и все, без нареканий.
Однако я всегда понимал SELF как указатель на текущий класс, а $ this также указывает на текущий объект (включая вещи, унаследованные от родителя)
Есть ли способ, которым я могу перебирать ТОЛЬКО свойства текущего класса. Причина, по которой я спрашиваю это ... Я использую CI и перебираю $, это включает в себя тонны родительских свойств, которые мне не нужны.
<?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()
Выход
s_parent => Parent sez hi!
s_child => Child sez hi!
s_foobar => What What!!
i_lucky_number => 7
Я не хочу видеть "s_parent => Parent sez hi!"
Я просто хочу перебрать свойства текущего класса. Не те, что унаследованы в другом месте.
Заранее спасибо.