phpmarginDie meistdiskutierte Funktion von PHP 7 ist sicher die Deklaration skalarer Typen. Bei einer gestern Abend durchgeführten Abstimmung erreichte die inzwischen fünfte Version des Vorschlags jetzt die nötige Zweidrittelmehrheit der beteiligten Entwickler. Also wird PHP 7 jetzt um die Typen Int, Float, String und Bool erweitert.

Allerdings muss die Verwendung einer strengen Überprüfung dieser Typen von den Nutzern explizit in jeder Datei über die Anweisung declare(strict_types=1) erzwungen werden. Das muss die erste Direktive in einer Programmdatei stehen und führt an anderen Stellen zu einer Fehlermeldung. Ohne diese Codezeile wird standardmäßig nur eine schwache Typenüberprüfung durchgeführt.

Wenn die neue Anweisung genutzt wird, müssen alle Funktionsaufrufe und Rückgabewerte in der Datei selbst und in darauf aufbauenden Erweiterungen und eingebaute PHP-Funktionen beim Parsen einer Typprüfung standhalten, sonst wird auch ein Fehler ausgegeben.

Im Gegensatz zu der schwachen Überprüfung, bei der die Werte noch in andere Typen umgewandelt werden können, gibt es unter der starken Überprüfung nur eine einzige erlaubte Umwandlung, nämlich die von Int zu Float.