• SPL – Standard PHP Library

    von am 12. August 2008

    Jede Programmiersprache besitzt eine Standard Bibliothek, mit Klassen die standard Probleme lösen. Warum sollte denn z.B jeder Entwickler eine eigene Liste oder ein Set entwickeln müssen. Es gibt Probleme, die einmal gelöst werden und dann nie wieder. Und aus diesem Grund gibt es auch die Standard PHP Library. Nur leider schlittert diese Bibliothek meilenweit in ihrem Ziel vorbei.

    Die SPL scheint sich nur um eine Sachen zu kümmern. Dem Iterator Interface und allem was dazugehört. Natürlich ist dies schon ein guter Anfang, aber alleine mit dieser Klasse bleibt es halt nur ein Anfang. Ok jetzt werden viele sagen, dass auch ein Observer Interface beinhaltet ist. Aber auch dieses Interface ist meiner Meinung nach nicht wirklich nützlich, da die Funktionsnamen misslungen sind. Warum sollte eine Funktion add( ) heißen, wenn sie eine Observer hinzufügt. Dies bedeutet ja, dass keine Klasse, die das Observer Pattern implementiert eine Methode besitzen darf, die add( ) heißt. AddObeserver( ) wäre hier wohl die bessere Alternative gewesen. Den Rest der SPL kann man wohl vernachlässigen.

    Was mich besonders bei dieser Thematik stört ist, dass die Standarbibliothek einer Sprache, nicht nur eine Hilfsfunktion einnimmt, sondern auch technische Standards setzt. Betrachtet man doch einfach mal den starken Konkurrenten Java. Die wichtigste Grundfunktionalität ist hier bereits abgedeckt. Niemand würde auf die Idee kommen eine File Klasse selbst zu implementieren. Und aus diesem Grund gibt es auch viele weitere Klassen, die die File Interfaces verwenden und somit alle kompatibel sind. In PHP dagegen gibt es hunderte von Klassen, die alle ein anderes Interface, falls überhaupt, besitzen. Keine dieser Klassen sind kompatibel. Nichts ist austauschbar, man kann nicht von den Klassen der anderen profitieren, ohne dabei einen Adapter oder ähnliches zu implementieren.

    Moment, aber was ist mit den ganzen Frameworks, die es gibt. Betrachtet man z.B. das Zend Framework, als den derzeit wohl prominentesten Vertreter dieser Gattung, dann wird einem schnell klar, dass diese auf einer anderen Schicht ansetzen, als wie es z.B. Collections oder Streams sind. Frameworks sind sehr hilfreich, keine Frage. Aber wenn sie einem helfen sollen, PHP erwachsener werden zu lassen, dann versagen sie meiner Meinung nach in vielen Punkten.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    2 Kommentare »


    • Namenspaare | PHP hates me
      am 21. August 2008 um 08:15 Uhr

      [...] noch misslungener. Hier heißen sie add und remove. Aber darüber habe ich mich ja schon in meinem Beitrag über die SPL [...]


    • Der Iterator - Teil 1 | PHP hates me
      am 12. September 2008 um 08:05 Uhr

      [...] ich bereits in einem Artikel beschrieben habe besitzt PHP eine Standard Library, die SPL. Hier findet man leider nicht viel, dennoch möchte ich heute auf einen der [...]

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.