PHP7 ist da

WordPress-PHP-5.6-vs-HHVM-3.7-vs-PHP-7
Im folgenden Text möchte ich aufzeigen, welche Punkte sich im Wesentlichen geändert haben. Weitere Punkte findest Du am Ende des Beitrages bei den weiterführenden Links.

Speed von PHP7

Ein Update auf PHP7 lohnt sich schon nur Aufgrund des Performancegewinns, der dadurch entsteht. Die Performance konnte im Vergleich zur alten PHP Version um beinahe das Doppelte verbessert werden. Komplexere Webapplikationen profitieren sogar von einer grösseren Verbesserung. WordPress ist beispielsweise fast 2,3 Mal so schnell wie unter PHP Version 5.6. In Zukunft werden wir also eine deutliche Performanceverbesserung bei Webapplikationen erleben.

Deklaration der Datentypen

In PHP7 können, wie von anderen Programmiersprachen bekannt, Datentypen explizit definiert werden. So können Fehler wie sie mit den undefinierten Datentypen passieren nicht mehr so einfach passieren. Weiter können die Parameter einer Funktion auf einen Typ definiert werden. Auch der Rückgabetyp einer Funktion kann definiert werden. Dies erhöht die Leserlichkeit des Quelltextes und forciert einen «besseren» Code. Standardmässig verursacht der Interpreter keine Fehlermeldung, falls falsche Datentypen gebraucht werden. Das kann aber in jedem File durch die Funktion declare(strict_types=1) geändert werden.
function increment(int $a): int {
    return $a + 1.0; // keine strikte Überprüfung des Returns
}
declare(strict_types=1);

function increment(int $a): int {
    return $a + 1.0; // strikte Überprüfung des Returns
}

dirname() erhält einen neuen Parameter

Mit dirname() kann der übergeordnete Ordner einer Datei abgerufen werden. Mit PHP7 ist es nun möglich einen zweiten Parameter zu übergeben, der definiert, wie viele Stufen in der Ordnerstruktur hochgegangen werden soll.
$dirname = dirname( __FILE, 4 ); // Geht 4 Stufen nach oben

Neuer Operator

Der Operator ?? überprüft, ob eine Variable gesetzt und nicht NULL ist. Die mühsame Überprüfung durch eine if() Bedingung ist daher nicht mehr nötig.
// PHP 7
$username = $_GET['user'] ?? 'nobody';

// PHP 5.x
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

Spaceship Operator

Um zwei Werte miteinander zu vergleichen, kann in PHP7 der sogenannte Spaceship Operator gebraucht werden. Früher musste dafür immer eine If-Bedingung verwendet werden. Diese Grössenüberprüfung kann auf sämtliche Datentypen angewendet werden. Beim Datentyp String wird die Position des Charakters im Alphabet verglichen.
// Integers
echo 1 <=> 1; // 0
echo 1 <=> 2; // -1
echo 2 <=> 1; // 1

// Floats
echo 1.5 <=> 1.5; // 0
echo 1.5 <=> 2.5; // -1
echo 2.5 <=> 1.5; // 1
 
// Strings
echo "a" <=> "a"; // 0
echo "a" <=> "b"; // -1
echo "b" <=> "a"; // 1

Preg Replace Callback Array

In PHP7 wurde die neue Funktion preg_replace_callback_array zu den RegEx Funktionen hinzugefügt. So kann ein String auf eine Reihe von Regulären Ausdrücken überprüft werden und nicht wie vorher immer nur auf einen Ausdruck.
$subject = 'Aaaaaa Bbb';

preg_replace_callback_array(
    [
        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        },
        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],
    $subject
);

// Gibt "6 matches for "a" found" aus
// Gibt "3 matches for "b" found" aus

Security

Die bis anhin existierende Sicherheitslücken mit der Funktion unserialize wurden behoben. Bei dieser sogenannten PHP Object Injection konnte sich ein Angreifer kompletten Zugriff auf das System verschaffen. Diese Schwachstelle wurde in PHP7 minimert.

Fazit

Der Einsatz von PHP7 lohnt sich durchwegs. Zudem läuft die neuste Version sehr stabil und kann produktiv eingesetzt werden. Unsere Hosting werden in der Zukunft migriert. Weitere Informationen zu PHP und PHP7 unter folgenden, weiterführenden Links:

Abonniere 
unseren Newsletter

Nur wertvolle Infos – kein Spam. Mit der Ameldung bestätigst Du, dass wir Dir einmal im Monat eine Zusammenfassung der neuesten Themen im Web-Bereich als E-Mail zusenden dürfen.

Mehr Artikel wie dieser

Welche WordPress Version habe ich? So findest Du es heraus!

WordPress ist das beliebteste CMS der Welt, mit welchem sich neben Blogs auch ganze Webseiten erstellen lassen. Da WordPress regelmässig und fleissig verbessert wird, kann…
Weiterlesen

WordPress 6.1 – Alle Neuerungen mit webP und dem neuen Twenty Twenty-Three Standard-Theme im Überblick

Das dritte grosse WordPress Update in diesem Jahr steht vor der Türe. Mit WordPress 6.1 kommen am 1. November 2022 wieder zahlreiche Neuerungen auf uns…
Weiterlesen

Wie wir ACF Blocks mit Handlebars Templating einsetzen

Mittels Handlebars Templating trennen wir Logik sauber vom Inhalt. Auf diese Weise können wir übersichtliche, einfache und performante Templates für WordPress Editor Blocks erstellen, welche…
Weiterlesen

iPhone Bildschirmgrössen – (k)ein Hexenwerk für Webdesigner?

iPhone-Bildschirm Messgrössen iPhone Bildschirmgrösse in Zoll (Display Size, Inches) Dies ist die Bildschirmgrösse in Zoll, gemessen von einer Ecke zur anderen. Genau so, wie auch Bildschirmgrössen von…
Christoph Ackermann
Weiterlesen

Vorstellung von WordPress 6.0 – Neue Blöcke und mehr Performance

Seit dem 24. Mai 2022 ist mit WordPress 6.0 die zweite Hauptversion in diesem Jahr veröffentlicht worden. Benannt wurde die Version nach Jazzmusiker Arturo O’Farrill.…
Weiterlesen

So kombinieren wir Nested Pages, SEO Framework & Polylang in WordPress

Bei vielen Kundenwebseiten setzen wir auf das Plugin Nested Pages, um Seitenstruktur besser sehen (und verwalten) zu können. Ohne dieses Plugin sieht die Anzeige von…
Weiterlesen

WordPress Login – so bekommst Du Zugang zu Deinem Dashboard

Gerade für WordPress Anfänger, aber auch bei fortgeschrittenen Benutzern, kann es oft schwierig sein, sich bei seinem Konto anzumelden. Im folgenden Beitrag werde ich Dir…
Weiterlesen

WordPress 6.0: Entwicklerteam gibt Zeitplan der neuen Version bekannt

Update: WordPress 6.0 wurde am 24. Mai 2022 veröffentlicht Wie Matias Ventura Ende Januar schrieb, soll WordPress 6.0 ein Abschluss der Phase 2 des Gutenberg-Projekts…
Weiterlesen

WordPress 5.9 – Was ist neu und kommt mit dem Update

Ursprünglich sollte WordPress 5.9 (Josephine) bereits am 14. Dezember 2021 veröffentlicht werden, wurde jedoch wegen offenen Problemen nach mehrfachen Verschieben nun am 25. Januar 2022…
Weiterlesen

WordPress Bilder und Medien: Alles was du wissen musst

Bilder sind ein grosser und wichtiger Bestandteil einer modernen Webseite. Sie helfen dem Besucher und Leser, Dinge zu visualisieren und lockern auch gerne lange Beiträge…
Weiterlesen

Warum unsere Kunden ihre Webseite kaputt layouten können

Einleitung / Basics Bereits seit einiger Zeit haben wir unseren neuen cubetech Core im Einsatz. Intern nennen wir das Ding liebevoll „gutenbase“ – eine Mischung…
Weiterlesen

Tech Talk – „Advanced Custom Fields“ Plugin

Bereits seit langer Zeit setzen wir bei unseren WordPress-Installationen auf das populäre Plugin «Advanced Custom Fields» (nachfolgend ACF). Dieser Beitrag zeigt, wie wir unsere Webseiten…
Weiterlesen