Wie durchlaufen Sie die aktuellen Klasseneigenschaften (nicht von einer übergeordneten oder abstrakten Klasse geerbt)?

Ich weiß, dass Sie mit PHP5 die Eigenschaften einer Klasse durchlaufen können. Wenn die Klasse jedoch eine andere Klasse erweitert, enthält sie auch alle in der übergeordneten Klasse deklarierten Eigenschaften. Das ist in Ordnung und alles, keine Beschwerden.

Ich habe SELF jedoch immer als Zeiger auf die aktuelle Klasse verstanden, während $ this auch auf das aktuelle Objekt zeigt (einschließlich der von einem übergeordneten Objekt geerbten Objekte).

Ist da irgendwie, kann ich NUR durch die Eigenschaften der aktuellen Klasse iterieren. Grund, warum ich das frage ... Ich verwende CI und durchlaufe $, dies schließt Tonnen von übergeordneten Eigenschaften ein, die ich nicht benötige.

<?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()

Die Ausgabe ist

s_parent => Parent sez hi! 
s_child => Child sez hi! 
s_foobar => What What!!
i_lucky_number => 7

Ich möchte NICHT "s_parent => Parent sez hi!" Sehen

Ich möchte nur die Eigenschaften der aktuellen Klasse durchlaufen. Nicht die, die anderswo geerbt wurden.

Danke im Voraus

Antworten auf die Frage(2)

Ihre Antwort auf die Frage