Heim >Backend-Entwicklung >PHP-Tutorial >Der neueste Fortschritt von PHP8.2, neue Funktionen werden bald eingefroren!

Der neueste Fortschritt von PHP8.2, neue Funktionen werden bald eingefroren!

青灯夜游
青灯夜游nach vorne
2022-07-04 13:54:383314Durchsuche

Die PHP Foundation wird jeden Monat die neuesten Fortschritte des PHP-Kerns in diesem Monat auf dem Blog veröffentlichen. Dieser Artikel beschreibt die Fortschritte im Juni.

PHP8.2 QA-Version und Feature-Freeze

PHP8.2 soll am 24. November veröffentlicht werden. PHP-Versionsveröffentlichungsadministratoren haben Alpha 1 und Alpha 2 der PHP8.2-Version veröffentlicht.

Diese Alpha-Versionen sind nicht für den Einsatz in Produktionsumgebungen geeignet, sondern werden als Versionsknoten für Testumgebungen und lokale Entwicklung verwendet.

Die kompilierte Windows-Version finden Sie unter https://windows.php.net/qa/, das Docker-Image finden Sie auf Docker Hub und den Quellcode können Sie in php/php-src auf Github kompilieren Auf Homebrew kann das PHP 8.2-dev-Paket verwandte Anweisungen von shivammathur/php anzeigen.

Der 19. Juli ist das Datum für das Einfrieren der Funktionen von PHP 8.2. Danach erhält PHP 8.2 keine neuen Funktionsvorschläge mehr. Neue Funktionen von PHP haben eine zweiwöchige Diskussionsphase und eine zweiwöchige Abstimmungsphase. Über alle RFCs (Vorschläge) muss abgestimmt werden, bevor die Funktion eingefroren wird.

RFC-Update

Letztes Mal in Welche Änderungen wird es in PHP8.2 geben (Leistungsverbesserungen, neue Funktionen)! einige neue Funktionen eingeführt, die nun genehmigt wurden, und über einige neue Funktionen wurde bereits abgestimmt.

Implementiert: false und null als unabhängige Typen zulassen

Wie in früheren Artikeln erwähnt, sind einige Entwickler diesbezüglich nicht optimistisch und denken, dass false als unabhängiger Typ keinen Nutzen hat. Bisher konnte false nur gemeinsam mit anderen Typen deklariert werden.

Ein Interview mit Entwickler George Peter Banyard können Sie im PHP-Podcast lesen. https://phpinternals.news/99 erwähnte er, dass viele traditionelle Funktionen intern „false“ zurückgeben und Ausnahmen auslösen. Es wird nichts von praktischer Bedeutung zurückgegeben. Die Rückgabe von „false“ kann dazu führen, dass die Ausführung des aktuellen Funktionscodes unterbrochen wird. Daher ist es auch sinnvoll, false als eigenständigen Rückgabewert zu verwenden.

Implementiert: true ist als unabhängiger Typ zulässig

Bereits im vorherigen Artikel erwähnte der Herausgeber, dass false als unabhängiger Typ verwendet (und deklariert) werden kann, true jedoch nicht. Dieser Vorschlag schlägt vor, true als unabhängigen Typ hinzuzufügen, um das Typsystem von PHP ausdrucksvoller zu machen.

Bestanden: Random Extension 5.x

ist die fünfte Iteration eines von Go Kudo vorgeschlagenen RFC, um den Zufallszahlengenerator von PHP zu verbessern und einige Änderungen in eine separate Erweiterung zu verschieben.

Bestanden: Veraltungsbenachrichtigung für is_callable hinzufügen und aufrufbaren Typ hinzufügen

PHP wird in Zukunft einen Teil der Leistung der is_callable-Funktion verwerfen, aber in PHP8.2 wird nur eine Veraltungsbenachrichtigung generiert. Der Grund dafür ist einfach ausgedrückt, dass die Syntax von is_callable bei der Verwendung verwirrend ist. Beachten Sie jedoch, dass is_callable nur auf die Verwendung von Beurteilungszeichenfolgen wie is_callable('myFunction') verzichtet und weiterhin für andere Typen verfügbar ist, beispielsweise für eine Variable, die eine Callback-Funktion darstellt.

Bestanden: Disjunktiver Normalformtyp

Dieser Vorschlag schlägt vor, dass PHP mehr Typdeklarationskombinationen unterstützt, wie zum Beispiel:

(A&B&D)|int|null

Das heißt, der Wert kann null sein, er kann eine Ganzzahl sein oder es können Objekte sein, die eine A-Schnittstelle, eine B-Schnittstelle und eine D-Schnittstelle implementieren.

Sie können die Vorschlagsdetails überprüfen: https://wiki.php.net/rfc/dnf_types

Weitere RFCs

Es werden noch weitere Vorschläge diskutiert. Lassen Sie uns unten eine einfache Einführung und Links erstellen .

Diskussion: Neue CURL-RUL-API (Hinzufügen von Curl-Klasse und URL-Klasse)

Diskussion: Verwendung von Aufzählungsattributwerten bei Const-Deklarationen

Diskussion: Unterklassen von Features in PDO-Programmen (kann das Verständnis von SQLite und PGSQL-Unterstützung verbessern)

Diskussion: Sorgen Sie dafür, dass die iterator_*()-Familie alle iterierbaren Objekte akzeptiert (derzeit nur Traversables, aber keine Arrays)

Diskussion: Automatisches Stringable in Aufzählungen implementieren (aber immer noch keine benutzerdefinierten Überschreibungen)

Diskussion: Kurzschluss (anonyme Funktionen, die Wenn Sie externe Variablen verwenden möchten, müssen Sie eine Use-Anweisung verwenden. Ein kurzer Abschluss kann dieses Problem lösen (gleicher Effekt wie die Pfeilfunktion von js). windows.php.net/qa/)

    Docker-Image von PHP8.2 (https://hub.docker.com/_/php?tab=tags&page =1&name=8.2.0)
  • PHP8. 2 Quellcode-Hosting-Adresse (https://github.com/php/php-src)
  • PHP8.2 Mac-Tool Homebrew-Installation (https://github.com/shivammathur/homebrew-php)
  • Was wird in PHP8.2 neu sein? (https://phpreturn.com/index/a626a74a300dc5.html)
  • Vorschlag: Machen Sie false und null als eigenständige Typen (https://wiki.php.net/rfc/null-false-standalone-types)
  • Entwicklerinterview für den Vorschlag (false und null als separate Typen) (https://phpinternals.news/99)

  • Proposal: true als separater Typ (https://wiki.php.net /rfc /true-type )

  • Vorschlag: Verfallshinweise für is_callable ( https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices )

  • Vorschlag: Disjunktive Normalformtypen (https://wiki.php.net/rfc/dnf_types)

  • Vorschlag: Neue CURL-URL-API (https://wiki.php.net/rfc/curl-url-api)

  • Vorschlag: const-Deklaration mit Enum-Eigenschaftswerten (https://wiki.php.net/rfc/fetch_property_in_const_expressions)

  • Vorschlag: spezifische Unterklasse von PDO (https://wiki.php.net/rfc /pdo_driver_special_subclasses)

  • Vorschlag: Iterierbares Multi-Item des Iterators erweitern (https://wiki.php.net/rfc/iterator_xyz_accept_array)

  • Vorschlag: Automatisches Stringable ohne Zentrierung implementieren (https://wiki. php.net/rfc/auto -implement_stringable_for_string_backed_enums)

  • Vorschlag: Short Closure (https://wiki.php.net/rfc/auto-capture-closure)

Weitere Merge-Anweisungen zu PHP finden Sie unter: https://thephp .foundation/blog/2022/06/30/php-core-roundup-3/#merged-prs-and-commits

Englische Originaladresse: https://thephp.foundation/blog/ 2022/06/30/ php-core-roundup-3/

Nachdruckadresse: https://phpreturn.com/index/a62be479ae1e02.html

Ursprüngliche Plattform: PHP Arsenal

Urheberrechtserklärung: Dieser Artikel wird von phpreturn.com (PHP Weaponry Official) gesponsert Website) Original und Erstveröffentlichung, alle Rechte liegen bei phpreturn (PHP Weaponry). Diese Website erlaubt jede Form des Nachdrucks/Zitierens von Artikeln, aber gleichzeitig muss die Quelle angegeben werden.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDer neueste Fortschritt von PHP8.2, neue Funktionen werden bald eingefroren!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:phpreturn.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen