Facebook
Twitter
Google+
Kommentare
2

SPL – Standard PHP Library

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.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

2 Comments

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen