two hands on the sides of a laptop, php 8.4 beta 3 text on the right side

PHP 8.4 (Beta 3) ist jetzt zum Testen auf SiteGround-Servern verfügbar

Wir freuen uns, Ihnen mitteilen zu können, dass PHP 8.4 (Beta 3) ab sofort auf allen SiteGround-Servern zum Testen zur Verfügung steht – weit vor dem geplanten offiziellen Veröffentlichungstermin am 21. November 2024. Wieder einmal gehören wir zu den ersten Unternehmen, die PHP 8.4 (Beta 3) zum Testen auf unserer Hosting-Plattform bereitstellen. Dank unseres einzigartigen PHP-Server-Setups sind wir in der Lage, unseren Kunden die neuesten PHP-Versionen anzubieten, die sie sicher auf ihren bei uns gehosteten Websites testen können.

Im nächsten Abschnitt erfahren Sie mehr über die neuen Funktionen, die die neueste PHP-Version mit sich bringt.

Was ist neu in PHP 8.4 (Beta 3)

Diese neueste Version führt einige sehr wichtige neue Funktionen ein, die das PHP-Entwicklungserlebnis noch weiter verbessern werden. Schauen wir uns einige der größten Änderungen an, die PHP 8.4 (Beta 3) bietet:

Property-Hooks

Eine der neuen Funktionen in PHP 8.4 (Beta 3) ist die Möglichkeit, Property-Hooks zu definieren, wodurch der Bedarf für viele Boilerplate-Code entfällt. Dies ist eine der größten Änderungen in der Geschichte von PHP. Property-Hooks werden dazu beitragen, viele Getter und Setter zu entfernen, indem sie es jeder Eigenschaft ermöglichen, ihre eigenen Get– und Set-Hooks zu definieren. Darüber hinaus ist es eine spannende Ergänzung, dass in PHP 8.4 (Beta 3) Property-Hooks in Schnittstellen definiert werden können.

Nehmen wir zum Beispiel diese Standardklasse:

<?php
declare(strict_types=1);


class Website
{
   private $domain;


   public function __construct(string $domain) {
       $this->domain = $domain;
   }


   public function getDomain(): string {
       return $this->domain;
   }


   public function setDomain(string $domain): void {
       if (strlen($domain) === 0) {
           throw new ValueError("Domain must be non-empty");
       }
       $this->domain = $domain;
   }
}

Ab PHP 8.4 (Beta 3) können wir Property-Hooks verwenden, um das gleiche Ergebnis mit der folgenden Syntax zu erreichen:

<?php
declare(strict_types=1);


class Website
{
   public string $domain {
       set {
           if (strlen($value) === 0) {
               throw new ValueError("Domain must be non-empty");
           }
           $this->domain = $value;
       }


       get => $this->domain;
   }


   public function __construct(string $domain) {
       $this->domain = $domain;
   }
}

new ohne zusätzliche Klammern

Eine weitere neue Funktion, die viel Boilerplate-Code sparen wird, ist, dass Sie neu erstellte Objekte nicht mehr in Klammern einschließen müssen, um Methoden darauf zu ketten.

Außerdem funktioniert dies nicht nur für Methoden, sondern auch für Eigenschaften, statische Methoden, Konstanten – im Grunde für alles, was Sie wollen. Im Endeffekt wird die neue Funktion die Syntax vereinfachen und den Code prägnanter und lesbarer machen.

Zum Beispiel:

Die Funktion „Zugriff auf Klassenmitglieder bei der Instanziierung (class member access on instantiation) wurde in PHP 5.4.0 eingeführt. Seitdem kann auf Konstanten, Eigenschaften und Methoden bei einer neu erzeugten Instanz ohne Zwischenvariable zugegriffen werden, allerdings nur, wenn der neue Ausdruck in Klammern eingeschlossen ist:

class Website
{
   ...


   public function getDomain(): string {
       return $this->domain;
   }
}


// Valid syntax
$myDomain = (new Website('siteground.com'))->getDomain();




// Invalid syntax until PHP8.4
$myDomain = new Website('siteground.com')->getDomain();

Neue Array-Funktionen

Eine weitere bemerkenswerte Änderung in PHP ist die Einführung mehrerer neuer Array-Funktionen. Mit PHP 8.4 wurden mehrere neue Array-Funktionen mit Callback-Funktion eingeführt:

array_find()

Eine Funktion, die den Wert des ersten Array-Elements zurückgibt, das der Bedingung entspricht. Wenn keines der Elemente die Bedingung erfüllt, gibt die Funktion `null` zurück.

array_find_key()


Gibt den Schlüssel des ersten Elements zurück, für das der Callback true war. Wenn keines der Elemente die Bedingung erfüllt, gibt die Funktion `null` zurück.

array_all()

Überprüft, ob der Callback für alle Array-Elemente true zurückgibt

array_any()

Überprüft, ob der Callback für ein beliebiges Element eines Arrays true zurückgibt.

Diese neuen Funktionen erleichtern die Suche und Bearbeitung von Arrays auf der Grundlage benutzerdefinierter Bedingungen, was zu einem saubereren und leichter lesbaren Code führt.

Wie testet man PHP 8.4 auf SiteGround-Servern?

Als SiteGround-Kunde können Sie PHP 8.4 (Beta 3) ganz einfach auf Ihrer Website testen. Loggen Sie sich einfach in den Bereich Site Tools > Devs > PHP-Manager ein und Sie können die aktuelle PHP-Version, die von Ihrer Website verwendet wird, mit einem einzigen Klick durch PHP 8.4 (Beta 3) ersetzen.

Bitte beachten Sie, dass PHP 8.4 (Beta 3) hauptsächlich zu Testzwecken zur Verfügung steht. Wie üblich raten wir Ihnen dringend davon ab, es vor dem geplanten offiziellen Veröffentlichungsdatum (21. November 2024) an Ihrer Produktionswebsite einzusetzen.

Wenn Sie PHP 8.4 (Beta 3) mit Ihrer bestehenden Website testen möchten, empfehlen wir Ihnen, eine neue Website zum Testen zu erstellen und Ihre Produktionswebsite zu klonen, um verschiedene Dinge zu testen. Zu diesem Zweck können Sie unser WordPress Staging-Tool verwenden. Achten Sie beim Testen darauf, dass nichts fehlschlägt, und überprüfen Sie Ihre Log-Dateien, um zu sehen, ob irgendwelche Warnungen oder Fehler auftreten. Sobald Sie mit den Tests fertig sind, können Sie die Website einfach löschen.

Fazit

Wir bei SiteGround arbeiten ständig daran, die neueste PHP-Technologie einzuführen und anderen voraus zu sein. Deshalb freuen wir uns, unseren Kunden die neueste PHP-Version zur Verfügung stellen zu können, die einige große Verbesserungen mit sich bringt, die die PHP-Entwicklungserfahrung erheblich verbessern können. Nehmen Sie sich die Zeit, die neue Version vor dem offiziellen Veröffentlichungsdatum zu testen und bleiben Sie dran für weitere Updates aus der PHP-Community.

Daniel Kanchev

Produkt- und Tech-Lead

Daniel ist dafür verantwortlich, neue Produkte bei SiteGround zum Leben zu erwecken. Dazu gehört die Bewältigung aller Arten von Aufgaben und die Kommunikation über mehrere Teams hinweg. Begeistert von Technologie, Benutzererfahrung, Sicherheit und Leistung, wird es nie langweilig für Sie in seiner Nähe zu sein. Er ist auch gelegentlich Redner bei Veranstaltungen und ein Reiseliebhaber.

Starten Sie die Diskussion