Meine Feature-Wünsche für PHP

So kurz vor Weihnachten schreibe ich heute mal meinen Wunschzettel. Natürlich nicht irgendeinen Wunschzettel, sondern meine größten Wünsche für kommende Features in PHP.

1.) Skalares Type Hinting
Type Hinting für Klassen und Arrays ist bereits seit PHP 5.1 problemlos möglich. Eine weitere Verbesserung wäre zusätzlich noch sklares Type Hinting einzuführen, also Integer und Float-Werte für Funktionsparameter anzugeben.

function calculate(int $x)
{
    var_dump($x);
}
 
calculate("99");
// int(99)

Da PHP aber schwache Typisierung verwendet, wäre es sinnvoll hier keinen Fehler zu werfen, sondern den String in einen Integerwert zu casten. Diskutiert wurde dieses Thema in der PHP-Community bereits ausgiebig, aber ob dieses Feature wirklich umgesetzt wird, steht noch nicht fest.

2.) Annotations
Viele Frameworks (u.a. Flow, Symfony und Doctrine) setzten bereits auf Annotations, die aber zum großen Teil noch selbständig mittels der Reflection-API geparst werden müssen. Eine allgemeingültige Lösung von PHP selbst wäre nicht nur performanter, sondern würde aus den Annotations auch ein echtes Sprachkonstrukt machen. Auch dieses Thema stand in der PHP-Community bereits zur Debatte.

3.) Foreach-else-Konstrukt
Smarty bietet bereits eine Funktion um foreach-else-Blöcke zu bauen, schöner wäre es aber, wenn PHP diese Möglichkeit von sich aus mitbringen würde.

$array = array();
 
// Aktueller Stand:
if(count($array))
{
    foreach($array as $key => $value)
    {
        echo $value.PHP_EOL;
    }
}
else
{
    echo "Keine Datensätze vorhanden.";
}
 
// Und so könnte es zukünftig aussehen:
foreach($array as $key => $value)
{
    echo $value.PHP_EOL;
}
else
{
    echo "Keine Datensätze vorhanden.";
}

Der untere Code ist wesentlich kürzer und lesbarer.
Die Community diskutiert sogar darüber das gleiche Konstrukt auch für for- und while-Schleifen einzusetzen und darüber hinaus die Abfragen noch mit elseif zu erweitern. Ich wäre allerdings schon mit der einfachen foreach-else Variante sehr zufrieden.

Bleibt abzuwarten welche Features sich in den kommenden Releases von PHP durchsetzen werden. Zumindest die oben beschriebenen Features wären von meiner Seite aus die meistgewünschten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.