Später als gedacht

PHP 7.3 wird verschoben: Neues Release-Datum bekannt gegeben
Keine Kommentare

Die Release Manager für PHP haben entschieden, eine zusätzliche Alpha-Version für PHP 7.3 zu veröffentlichen. Nach der Alpha3 am 5. Juli soll demnach am 19. Juli eine Alpha4 erscheinen. Damit verschiebt sich die gesamte Release-Roadmap für PHP 7.3 um 2 Wochen. Die finale Version von PHP 7.3 soll deshalb nicht wie ursprünglich geplant am 29. November, sondern am 13. Dezember verfügbar werden.

Grund für die Verschiebung ist die große Menge an RFCs (Request for Comments) für neue Features in PHP 7.3, die momentan noch in der Abstimmungsphase sind. Der ursprüngliche Termin für den Feature Freeze vom 17. Juli lag zu nahe am Abstimmungsende, was zu kritischen Kommentaren auf der Internals-Mailingliste geführt hatte.

So hatte etwa Sara Golemon in ihrem Beitrag „On not rushing things at the last minute“ ihre Enttäuschung ausgedrückt, dass kurz vor dem Feature Freeze eine derart hektische Aktivität ausbricht.

I’m disappointed by the last minute kitchen-sink dump of RFCs being raised, rushed through discussion, and voted on with minimal periods. While I’m all for delivering useful features to end users, I don’t want us to get in the habit of seeing months of quiet followed by weeks of chaos every year around this time. (Sara Golemon)

Aktuell stehen die folgenden sechs RFC für eine Integration in PHP 7.3 zur Abstimmung:

Momentan sieht es so aus, dass lediglich die letzten drei RFC in PHP 7.3 berücksichtigt werden. Nicht zur Abstimmung steht bisher noch das ebenfalls kontrovers diskutierte Feature der Typed Properties. Dabei geht es darum, Typen für Klassen-Properties zu deklarieren. Das Feature ist bereits seit längerer Zeit in der Diskussion und stand 2016 schon einmal zur Abstimmung. Damals war der RFC allerdings abgelehnt worden.

Mit dem neuen RFC: Typed Properties 2.0 hatten Bob Weinand und Nikita Popov am 15. Juni 2018 einen neuen Anlauf unternommen. Der neue RFC unterscheidet sich allerdings in zwei Punkten vom alten Vorschlag: Es sollen zum einen auch Typen für statische Properties unterstützt werden, was früher nicht der Fall war und zu Sprachinkonsistenten geführt hatte. Zum anderen sollen auch Referenzen zu typisierten Properties möglich sein.

Das Beispiel aus dem RFC sieht wiefolgt aus:

class User {
    /** @var int $id */
    private $id;
    /** @var string $name */
    private $name;
 
    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }
 
    public function getId(): int {
        return $this->id;
    }
    public function setId(int $id): void {
        $this->id = $id;
    }
 
    public function getName(): string {
        return $this->name;
    }
    public function setName(string $name): void {
        $this->name = $name;
    }
}

Das obere Code-Beispiel könnte mit typisierten Properties so geschrieben werden:

class User {
    public int $id;
    public string $name;
 
    public function __construct(int $id, string $name) {
        $this->id = $id;
        $this->name = $name;
    }
}

Einige sähen die Typed Properties in dieser Form bereits gerne in PHP 7.3 integriert. Beispielsweise schreibt Marco Pivetta:

It is such a massive improvement that pushing it back now would simply delay a very huge jump (forward) in ecosystem quality at large for more than a year. (Marco Pivetta)

Kam der RFC zu spät? Levi Morrison meint, Nein:

I want to personally affirm that Nikita and Bob have been working hard on this for a long time. This is not a last minute change being rushed. They have been quite thorough and have discovered and fixed many edge cases that I suspect other authors would not have found or would have ignored. Yes, it is being voted on in the narrow gap between first alphas and feature freeze but that does not mean it is rushed. (Levi Morrison)

Anders sieht dies Zeev Suraski, für den der Zeitpunkt der Einreichung des RFC viel zu kurzfristig erscheint:

The only time I’ve heard about this was slightly under 3 weeks ago when Nikita sent this RFC to internals – where he himself alluded to the fact that this is „a large and complex proposal that may not be able to make the deadline“.  To be clear, introducing such an RFC for discussion (a large and complex one) after alphas have been released as opposed to months before alphas are released constitutes as ‚rushed‘ in my book, and apparently in the books of others as well. (Zeev Suraski)

Wir werden sehen, ob der um zwei Wochen erweiterte Spielraum bis zum Feature Freeze sich positiv für die Typed Properties auswirkt. Bisher läuft wie erwähnt jedenfalls noch keine Abstimmung zur Integration in PHP 7.3.

Zum Abschluss noch die aktualisierte Roadmap. Nach diesem Plan soll PHP 7.3 nun am 13. Dezember 2018 erscheinen:

Unsere Redaktion empfiehlt:

Relevante Beiträge

X
- Gib Deinen Standort ein -
- or -