Sascha: [OOP] Auf Eigenschaften der Vaterklasse zugreifen?

Beitrag lesen

@Sven und dedflix
Danke für den Tip bezüglich error_reporting(E_ALL). Das war mir ganz entfallen.

Den Schreibfehler hatte ich gestern abend noch gefunden.

Mit aktiviertem error_reporting kommen die zitierten Fehlermeldungen zustanden.

Wenn ich folgendes ausführe:

$list->items->add("1.Item");  
$list->items->add("2.Item");  
$list->items->add("3.Item");  

Dann kann ich item_collection nur, wie folgt, abfragen:

foreach($list->items->items_collection as $item)  
{  
	echo $item->value."<br>";  
}  

Aber ich ging davon aus, dass bei diesem Konstrukt:

  
class list_item_f extends listbox  
{  
  
	function __construct()  
	{  
  
	}  
	  
	public function add($value)  
	{  
		parent::addItemInternal($value);  
	}

jeder Wert, der über listbox::items->add($VALUE) an listbox::addItemInternal($VALUE) weitergereicht wird und dadurch nur auf die items_collection der Vaterklasse(listbox) zugegriffen wird und somit eigentlich folgendes möglich sei:

foreach($list->items_collection as $item)  
{  
	echo $item->value."<br>";  
}  

PS: Es gibt in der Klasse 'listbox' eine Methode 'items', die einen einzelnen Eintrag aus dem Array items_collection zurückgibt und eine Eigenschaft 'items', die die ganzen Methoden für die Manipulation des gesamten 'item_collection' Arrays enthält, zB: add / remove etc.

In .NET würde es, wie folgt, aussehen:

  
ListBox1.Items.Add("1.Eintrag")  
MsgBox(ListBox1.Items(0).ToString)  

Eine Änderung der Methode 'items' in 'item', um Konflikte zwischen Methode und Eigenschaft auzuschließen, brachte auch keine Besserung.

-----------------------------------------------------------------
Zur .NET Geschichte:
Ziel soll nicht sein .NET nachzubauen ;) Ich will vielmehr nur einige Steuerelemente, zB. ListView, als PHP Klasse umsetzen. Die optische Darstellung soll, wenn der Nutzer es nicht anders will, auch vom Skript übernommen werden. In Sachen .NET war nur geplant, dass die Bedienung dieser Klasse(n) an den .NET Syntax angelehnt sein soll. Mit allem soll die Entwicklung von RIAs erleichtert werden.

Altes Beispiel für eine ListView Klasse:

http://aldbt.al.funpic.de/elements/

Hier noch ein paar ältere Versuche:

http://aldbt.al.funpic.de/te/npc.php

http://aldbt.al.funpic.de/te/te/window.php