Rechercher une fonction PHP

Nicht abwärtskompatible Änderungen

Obwohl der meiste bestehende PHP 5 Code ohne Änderungen funktionieren sollte, sind ein paar Änderungen zu beachten, die nicht abwärtskompatibel sind:

Array-Schlüssel werden nicht überschrieben, wenn ein Array mittels Array-Literal als Eigenschaft einer Klasse definiert wird

Bisher konnten Elemente von Arrays, welche als Klasseneigenschaften mit expliziten und impliziten Schlüsseln definiert waren, überschrieben werden, wenn ein expliziter Schlüssel gleich mit einem sequenziellen impliziten Schlüssel war.

<?php
class {
    const 
ONE 1;
    public 
$array = [
        
self::ONE => 'foo',
        
'bar',
        
'quux',
    ];
}

var_dump((new C)->array);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.5:

array(2) {
  [0]=>
  string(3) "bar"
  [1]=>
  string(4) "quux"
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe mit PHP 5.6:

array(3) {
  [1]=>
  string(3) "foo"
  [2]=>
  string(3) "bar"
  [3]=>
  string(4) "quux"
}

Strenge von json_decode()

json_decode() weist nun nicht vollständig in Kleinbuchstaben geschriebene Varianten von true, false und null gemäß der JSON-Spezifikation zurück, und setzt json_last_error() dementsprechend. Bisher wurden auch Eingaben, die nur aus einem dieser Werte bestanden, mit Großbuchstaben akzeptiert.

Diese Änderung hat nur Einfluss auf Fälle in denen ungültiges JSON an json_decode() übergeben wurde. Gültiges JSON ist davon nicht betroffen und wird weiterhin normal verarbeitet.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Stream Wrapper verifizieren nun standardmäßig Zertifikate und Hostnamen bei Verwendung von SSL/TLS

Alle verschlüsselten Clientstreams verifizieren nun standardmäßig den Kommunikationspartner. Standardmäßig wird dafür das Standard-CA-Bundle von OpenSSL zur Verifikation des Peer-Zertifikates herangezogen. In den meisten Fällen sind keine Änderungen notwendig, um mit Servern mit gültigen SSL-Zertifikaten zu kommunizieren, da Distributoren üblicherweise OpenSSL mit vertrauenswürdigen CA-Bundles konfigurieren.

Das Standard-CA-Bundle kann global durch eine Änderung der konfigurationseinstellungen openssl.cafile oder openssl.capath überschrieben werden, oder für einzelne Requests durch die Verwendung der Kontextoptionen cafile oder capath.

Obwohl dies generell nicht empfehlenswert ist, kann die Verifikation der Peer-Zertifikate für einzelne Requests ausgeschaltet werden, indem die Kontextoption verify_peer auf FALSE gesetzt wird. Die Verifikation des Peer-Namen kann durch das Setzen von verify_peer_name auf FALSE ausgeschaltet werden.

GMP-Ressourcen sind nun Objekte

GMP-Ressourcen sind nun Objekte. Die funktionale API der GMP-Erweiterung hat sich nicht geändert und Code sollte ohne Änderungen funktionieren, es sei denn dieser prüft explizit auf eine Ressource mittels is_resource() oder Ähnlichem.

Mcrypt-Funktionen benötigen nun gültige Schlüssel und IVs

mcrypt_encrypt(), mcrypt_decrypt(), mcrypt_cbc(), mcrypt_cfb(), mcrypt_ecb(), mcrypt_generic() und mcrypt_ofb() akzeptieren nicht länger Schlüssel oder IVs mit falscher Länge, und Blockschlüssel, die IVs benötigen, schlagen nun fehl, wenn kein IV übergeben wurde.

cURL Datei-Uploads

Uploads, die die @file Syntax verwenden, erfordern nun, dass CURLOPT_SAFE_UPLOAD auf FALSE gesetzt ist. Statt dessen sollte CURLFile verwendet werden.

Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-migration56.incompatible.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut