Mailinglisten-Archive |
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