Nicht rückwärtskompatible Änderungen
Obwohl der meiste PHP 5 basierende Code ohne Änderungen funktionieren sollte,
gibt einige nicht rückwärtskompatible Änderungen:
-
Die break
und continue
Schlüsselwörter akzeptieren keine variablen Argumente mehr. Erwägen Sie eine
statische Konstante als Argument zu verwenden.
-
Safe mode wird
nicht länger unterstützt. Jede Anwendung, die sich auf safe mode verlässt,
benötigt unter Umständen Anpassung bezüglich der Sicherheit.
-
Die Salsa10 und Salsa20 Hash-Algorithmen wurden entfernt.
-
Das Setzen der Zeitzone mit der TZ Umgebungsvariablen wird nicht länger von
der date Extension unterstützt. Die Extension wird nicht länger versuchen die
Standardzeitzone zu erraten, wenn keine eingestellt ist; statt dessen wird immer
auf "UTC" zurückgefallen.
-
get_magic_quotes_gpc()() und
get_magic_quotes_runtime()() geben nun immer false
zurück. set_magic_quotes_runtime()() erzeugt
E_CORE_ERROR
-
Nichtnumerische Zeichenkettenoffsets, z.B. $a['foo'], wobei $a eine
Zeichenkette ist, geben nun false für isset()() und true
für empty()() zurück, und erzeugen eine Warnung, wenn
versucht wird sie zu verwenden. Offsets der Typen double, bool und null
erzeugen eine Notice. Numerische Zeichenketten ($a['2']) funktionieren wie
bisher. Es ist zu beachten, dass Offsets wie '12.3' und '5 und ein Halb' als
nichtnumerisch angesehen werden, und eine Warnung erzeugen, aber aus
Gründen der Abwärtskompatibilität zu 12 bzw. 5 konvertiert werden.
-
Null, false oder leere Zeichenketten durch hinzufügen einer Eigenschaft in
ein Objekt zu konvertieren wird nun eine Warnung statt eines
E_STRICT
Fehlers ausgeben.
-
Konvertieren von Arrays zu String wird nun eine
E_NOTICE
Warnung verursachen.
-
Die Schattierung von Superglobalen durch Parameternamen verursacht nun
einen fatalen Fehler.
Die folgenden Schlüsselwörter sind nun reserviert und dürfen nicht in Funktions-,
Klassen- usw. namen genutzt werden.
Folgende Funktionen wurden von PHP entfernt:
-
define_syslog_variables()
-
import_request_variables()
-
session_is_registered(), session_register() und session_unregister()
-
mysqli_bind_param(), mysqli_bind_result(), mysqli_client_encoding(), mysqli_fetch(), mysqli_param_count(),
mysqli_get_metadata(), mysqli_send_long_data(), mysqli::client_encoding() und mysqli_stmt::stmt()