Homepage selbermachen 7.846 Themen, 35.563 Beiträge

OT: Manchmal ist simpel einfach doch ZU simpel (Typisierung)

xafford / 9 Antworten / Flachansicht Nickles

Sorry für das Posting, ist weder eine Frage, noch eine Antwort, sondern einfach nur etwas Allgemeines Blabla...

Worum es geht: Ich sitze gerade an einer etwas komplexeren Sache, ein bestehendes Verwaltungstool in einem Netzwerk, das erweitert werden soll. Es ist eine Art Inventarliste für Netzwerkclients und soll um Verwaltungskomponenten erweitert werden.
Das Ganze MUSS zwingend in PHP realisiert werden, bis auf Schnittstellen, die mit PHP gar nicht realisiert werden können. Eigentlich mag ich PHP, gerade aufgrund seiner Einfachheit, die fehlende, strenge Typisierung ist da oftmals eine der Erleichterungen...leider aber manchmal auch das genaue Gegenteil.

Wo hakte es speziell? Da die ganze Anwendung viel mit IP-Adressen, Subnets, Netzmasken und zugehörigen Berechnungen arbeitet ist es naheliegend dafür jeweils Klassen zu erstellen und es so zu kapseln, das ist auch nicht das Problem, das Problem ist eher das Rechnen mit IPs. Sinnvollerweise tut man dies auf Basis der Binärdarstellung. Genau hier hakt es aber. PHP liebt INTs und mag keine (kennt keine) binarys. Es kennt keine SHOT, LONG, WORD, kein signed und unsigned.
Die kontextabhängige Typenkonvertierung sorft dann leider auch dafür, daß ein als BINARY vorliegender Wert (Die IP-Adresse), dann auf einmal wieder ein INT, oder gar ein String wird. Das lässt sich zwar alles Umschiffen aber teilweise mit echt unschönen Tricks und einigem Mehr an Code.

Worauf ich eigentlich hinaus will: Bevor die PHP-Entwickler weiter an der Objektorientierung feilen (die wahrscheinlich höchstens 5% der Nutzer anwenden), sollten sie sich vielleicht überlegen eine Option: strict zu realisieren, die es dem Entwickler in einem Script ermöglicht eine strenge Typisierung einzuschlaten, so es denn gewünscht ist. Das halte ich für eine dringlichere Option von PHP als Konstruktoren, Destruktoren, Interfaces etc...
Anscheinend sehe aber nur ich das so...

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen