SPL sinn und unsinn

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SPL sinn und unsinn

    Hi,

    mich würde interessieren wie ihr zur spl steht.
    Ich kann mich damit einfach nicht anfreunden. Der anspruch der spl ist doch eine standarbibliothek ähnlich der c++-STL zu sein.

    Ich muss aber ehrlich sagen, dass sie dafür schlicht zu diletantisch ist.
    Das einzig brauchbare ist imho ArrayAccess weil man so die möglichkeit hat den op-[] für seine klassen zu überladen und man anders als bei nativen arrays mit den rückgaben weiter arbeiten kann ohne sie in einer temporären variablen speichern zu müssen.

    Alles andere was ich gesehen habe, halte ich für eher suboptimal.
    Ich habe kürzlich ein serialization framework, dass an boost::serialization angelehnt ist implementiert und wollte für die archive als eine mögliche schnittstelle splFileObject verwenden. Leider ist die klasse in der funktion sehr unhandlich. Weiterhin musste ich feststellen dass es seit php 5.1.1 eine serializable interface gibt. Blöd das mein interface genau so hiess. (Hier fehlt eindeutig ein namespace-feature für php, damit die namespace-polution aufhört).

    Zurück bei splFileObject. Hier wurde versucht ein OO-Iface zu streams zu bieten. Meiner meinung nach aber mit dem falschen ansatz. Warum IST splFileObject ein iterator ? Warum wurde hier nicht aggregation für die daten-iterator-beziehung gewählt ?
    Was ist wenn ich nicht über zeilen sondern wörter itertieren möchte. Oder über buchstaben. Was ist wenn ich einen inputiterator möchte ?

    Hier bleibt subclassing oder dekorierung. Nicht schön wenn man bedenkt, dass solche problem durch standarbibliotheken gelösst werden sollten.

    Generel sind algorithmen und datenstrukturen zu eng verbunden. Anstatt iteratoren als generisches interface zu den algorithmen zu verwenden wurden die algorithmen ins klasseninterface getan.
    Bsp.: ArrayObject::natsort(), ArrayObject::uksort() usw.

    Generell ist das Iteratorinterface eher unglücklich, aber das hängt auch mit den mitteln zusammen die php bietet (bzw. nicht bietet).

    Das nur mal als kleiner einblick in meine meinung.

    Wie steht ihr zur spl ?
    Zuletzt geändert von closure; 26.03.2006, 11:44.
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

  • #2
    Hmm,
    hat keiner von euch erfahrungen damit gemacht ? Kann ich mir irgendwie nicht vorstellen.

    Oder ist das thema einfach nur uninteressant ?

    *puzzled*

    greets
    (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

    Kommentar

    Lädt...
    X