phpbar.de logo

Mailinglisten-Archive

[php] SPL ArrayObject mit uninitialisierten items

[php] SPL ArrayObject mit uninitialisierten items

Yannik Hampe yannik at cipher-code.de
Fre Mai 9 09:04:33 CEST 2008



Sebastian Mendel wrote:
> 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.

Ja, richtig. Etwas eniger wird es, wenn du das 
IteratorAggregate-Interface implementierst, dass dann dein iterierbares 
Objekt in der Methode getIterator zurückgibt.
Aber sonst musst du dich in jeder der Funktionen einhaken... So 
aufwendig ist es doch auch nicht :-).

Yannik

php::bar PHP Wiki   -   Listenarchive