phpbar.de logo

Mailinglisten-Archive

[php] SPL ArrayObject mit uninitialisierten items

[php] SPL ArrayObject mit uninitialisierten items

Sebastian Mendel lists at sebastianmendel.de
Fre Mai 9 08:44:21 CEST 2008


Hi,

ich habe eine Klasse die eine Liste zur Verfügung stellt, dachte ich mir, 
toll, kannste ja das SPL ArrayObject verwenden,

nun wollte ich aber die Liste erst erstellen lassen wenn sie tatsächlich 
gebraucht wird, im Gegensatz zu dem Objekt selber, welches immer existiert

aber irgendwie finde ich nicht die Stelle wo ich mich einhaken bevor 
irgendwas auf die Liste zugreift, ist das nicht vorgesehen oder finde ich es 
nur nicht?

momentan müsste ich mich in jede Funktion einzeln einzeln einklinken um die 
Liste bei Bedarf (falls noch nicht existent) vorher zu erzeugen

z. B.

public function getIterator()
{
     if (count($this) == 0) {
         $this->build();
     }
     return parent::getIterator();
}

allerdings halt auch in count(), getOffest(), setOffset(), ... usw.


die Einzig andere Möglichkeit wäre das Objekt eben nicht generell zu 
erzeugen, sondern immer nur über eine Factory darauf zu zugreifen, wollte 
ich aber eigentlich auch nicht ...

also

foreach (Class::Factory() as $item) {...}
count(Class::Factory());

anstelle von

foreach ($ListObject as $item) {...}
count($ListObject);



irgendwelche Kommentare, Ideen, Vorschläge?

-- 
Sebastian Mendel

php::bar PHP Wiki   -   Listenarchive