Wie bereiten Sie Ihre Website vor dem Upgrade auf PHP 7 vor?

18. August 2017

Die PHP 7-Version konzentriert sich hauptsächlich auf die Entfernung veralteter Funktionen in früheren Versionen und die Verbesserung der Konsistenz der Sprache.

Zum Zeitpunkt der Veröffentlichung einer neuen Version:

  • Einige Erweiterungen können entfernt werden
  • Einige Erweiterungen oder Funktionen können veraltet sein
  • Einige andere Funktionen können geändert werden

Der Begriff „Veraltung“ bedeutet hier, dass den Programmierern eine bessere Alternative zu einer bestimmten Erweiterung oder Funktion angeboten wird, sodass von deren Verwendung abgeraten wird und diese Funktion oder Erweiterung in zukünftigen Versionen vollständig entfernt werden kann.
Dies erfordert die Verwendung des Migrationsdokuments zum Zeitpunkt der Upgrade auf eine neuere Version. Dieses Dokument kann Folgendes abdecken:

  • Neue Features und Funktionen
  • Veraltete Features und Funktionen
  • Geänderte Features und Funktionen
  • Abwärtsinkompatible Änderungen
  • Neue globale Konstanten
  • Neue Klassen und Schnittstellen
  • Änderungen in SAPI-Modulen
  • Erweiterungen und SAPIs entfernt
  • Andere Änderungen

Hier sind die Schritte, die wir beim Upgrade von der älteren Version auf PHP 7 befolgen können:
Als Erstes müssen die entfernten Erweiterungen entfernt werden. Der PHP-Migration document kann eine ganze Reihe von Alternativen für diese entfernten Erweiterungen anbieten.

Zum Zeitpunkt der Einführung von PHP 7 wurden die folgenden Erweiterungen entfernt:

  1. mssql
  2. MySQL
  3. ereg
  4. sybase_ct

Zweitens haben wir aus dem Migrationsdokument die erforderlichen Informationen, zu denen alle Funktionen geändert wurden. Bei der Einführung einer neuen Version können auch einige Änderungen eingeführt werden, wie zum Beispiel:

  • Änderung des Rückgabetyps
  • Entfernung einiger Parameter

Daher müssen wir prüfen, ob eine dieser geänderten Funktionen auf unserer PHP-Website verwendet wird. Wir müssen uns für diese auf das Migrationsdokument beziehen und die erforderlichen Änderungen entsprechend vornehmen.

Im Fall von PHP 7 sind einige der geänderten Funktionen wie folgt:

  • Die Funktionen mktime() und gmmktime() akzeptieren den Parameter is_dst nicht mehr.
  • Die Funktionen substr() und iconv_substr() geben jetzt einen leeren String zurück, wobei string der Länge der Startzeichen entspricht

Als Drittes muss versucht werden, die Verwendung veralteter Funktionen und Erweiterungen zu verhindern, da diese in zukünftigen Versionen irgendwann entfernt werden.

Im Fall von PHP 7 sind hier einige der Funktionen, die veraltet sind:

  1. Konstruktoren im PHP 4-Stil – Zum Erstellen von Konstruktoren verwendete PHP 4 dieselben Methoden wie die Klasse, in der sie definiert wurden. Dies ist eine veraltete Funktion und soll in Zukunft entfernt werden. Daher müssen diese Methodennamen nun durch __construct() ersetzt werden.
  2. Die statischen Aufrufe nicht statischer Methoden sind ebenfalls veraltet und werden in zukünftigen Versionen entfernt
  3. Die Salt-Option für die Funktion „password_hash()“ ist veraltet, da die Funktion einen kryptografisch sicheren Salt generieren kann, falls der Entwickler den Salt nicht bereitstellt.

Der nächste, dh vierte Schritt, der erledigt werden muss, ist die Behandlung der abwärtsinkompatiblen Änderungen. Zum Zeitpunkt der Einführung der neuen Version muss das Migrationsdokument hinsichtlich der „abwärtsinkompatiblen Änderungen“ herangezogen werden.

Hier sind einige der abwärtsinkompatiblen Änderungen:

  • foreach ändert den internen Array-Zeiger nicht mehr
  • global akzeptiert jetzt nur einfache Variablen
  • Die Variablenvariablen können nicht mehr mit dem globalen Schlüsselwort verwendet werden.
  • Hexadezimale Zeichenfolgen gelten nicht mehr als numerisch
    Zum Beispiel:
    <?php
    var_dump(is_numeric(“0x123”));
    ?> Die Ausgabe des oben genannten Beispiels in PHP 7 ist:bool(false)
  • Änderungen an Division durch Null
    Früher, wenn 0 als Divisor für die Operatoren „divide(/)“ oder „modulus(%)“ verwendet wurde, wurde E_WARNING ausgegeben und „false“ zurückgegeben. Es wurde nun auf den Divisionsoperator umgestellt, der eine Gleitkommazahl entweder als +INF, -INF oder NAN zurückgibt. Der Moduloperator E_WARNING wurde entfernt und löst eine DivisionByZeroError-Ausnahme aus.

Wir als einer der führenden PHP-Entwicklungsunternehmen verfügt über mehr als ein Jahrzehnt Erfahrung in der Durchführung von PHP-Webentwicklungsprojekten für seine globale Kundschaft aus verschiedenen Branchen. Wir setzen die modernsten Tools und Techniken ein, um die effizientesten Lösungen für Ihre Geschäftsprobleme zu finden. Alternativ können Sie sich auch unsere „Stellen Sie einen PHP-Entwickler ein'Service, bei dem Sie die technischen Fähigkeiten unserer Entwickler, die Herangehensweise an Ihr Projekt und ihre bisherige Arbeit bewerten können, um aus dem erfahrensten Talentpool der Branche auszuwählen.

de_DEGerman