am 5. Juni 2009
Ich hatte ja mal einen Ansatz für starke Typisierung von Max Horváth vorgestellt. Die schwache Typisierung von PHP ist vielen Anwendern ein Dorn im Auge und sie wünschen sich hier Gesinnungswechsel bei den Machern von PHP. Ich finde das Handling der primitiven Typen eigentlich ganz angenehm, da man einfacher vergleichen kann und man nicht immer und überall Casten muss. Ich kann es aber auch verstehen, wenn jemand mal an eine Stelle kommt, an dem ihm die schwache Typisierung auf die Nerven geht.
Die SPL, also die Standard PHP Library, schafft hier Unterstützung. Diese kann man im experimentellen Umfeld schon einmal antesten. Wichtig dabei ist, dass es sich wirklich nur um ein Experiment handelt. Baut also nicht eure geschäftskritischen Prozesse drauf aus.
Schon so viel geschrieben, aber noch gar nichts gesagt. Fangen wir also an. Die SPL bietet eine Sammlung von Klassen, die einfache Typen repräsentieren. Integer, String, Boolean und Float sind alle abgedeckt. Wie haben also eine Klasse, die SplInt heisst. Diese kann dafür verwendet werden, Integers zu typisieren. In einem Beispiel würde die Anwendung wie folgt aussehen:
function multiply( SplInt $a, SplInt $b )
{
$c = new SplInt( 0 );
for( $i = 0; $i < $a; $i++ ) {
$c = $c + $b;
}
return $c;
}
Wie ihr sehen könnt, verwende ich die Integer Objekte, als ob es sich hierbei um ganz normale Zahlen handelt. Ist natürlich ein wenig aufwendiger, wenn jedes mal ein Objekt erstellen muss, sobald man mit Zahlen oder Strings hantieren will. Ich kann jedem nur empfehlen mal ein wenig mit den neuen Klassen rumzuspielen, ich selbst hatte leider noch nicht die Gelegenheit. Lasst uns also von euren Erfahrungen profitieren.