Objectifier: Macht aus allem ein Objekt
Kommentare

Sara Golemon arbeitet bei Facebook, trotzdem war ihr langweilig. Das erzählt sie uns zumindest, als wir sie fragen, warum sie den Objectifier geschrieben hat. Dieser verwandelt nämlich Nicht-Objekte

Sara Golemon arbeitet bei Facebook, trotzdem war ihr langweilig. Das erzählt sie uns zumindest, als wir sie fragen, warum sie den Objectifier geschrieben hat. Dieser verwandelt nämlich Nicht-Objekte in Objekte, wenn Strings und Co. zur Laufzeit eigentlich wie Objekte behandelt werden. So lassen sich Strings automatisch wrappen, was so aussehen würde:

Dazu sagt sie:

The implementation of each type’s autobox implementation would be left to userspace PHP code, so that framework developers could easily create their own wrappers for any type or sub-type, and users could extend and reuse these.

Inspiriert wurde Golemon durch Phil Sturgeons und Ben Edmunds‘ jüngste Ausgabe ihres PHP Town Hall Podcasts, in dem sie über das Fehlen von objektartigen Skalaren in PHP klagten. Dabei erinnerte sich Golemon an ihre operator-Erweiterung und nahm sie sich zum Vorbild, also sie eine Lösung dazu erstellen wollte.

Kurz danach stand der Objectifier auf GitHub zum Forken und Kritisiertwerden bereit, worauf sich Nikita Popov via Twitter einschaltete. Er hatte schon vor drei Wochen die Notwendigkeit von Methodenaufrufen primitiver Typen in PHP erkannt, und diese in seiner scalar_obejcts-Erweiterung nachgeliefert. Da Golemon diese Lösung geschickter findet als ihre eigene, wolle sie sich künftig an Popovs Erweiterung beteiligen.

Uns sagt sie dazu:

Unlike objectifier, this implementation leaves non-objects as their original type and layers psuedo-instance methods on top of them with the variable overloaded to represent the original value. After looking this version over, I like it quite a bit more than mine as it solves several problems I’d punted on in my initial implementation. So I’ll probably shelve objectifier and contribute to nikic’s version instead.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -