Heim >Backend-Entwicklung >PHP8 >Die neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!

Die neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!

藏色散人
藏色散人nach vorne
2020-07-23 13:17:166085Durchsuche


Die neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!

Die neue Version von PHP wird offiziell am 3. Dezember veröffentlicht. Neben einer Vielzahl an Bugfixes und kleinen Verbesserungen erhalten Entwickler auf der ganzen Welt auch einige neue interessante Features. Die Liste ist noch nicht zu Ende, aber wir können einen Blick auf die neuen Funktionen werfen, auf die wir uns freuen. Ich werde eine Reihe kurzer Artikel vorbereiten, die sich auf jeden einzelnen Artikel konzentrieren, also fangen wir an!

Im ersten Artikel stelle ich Ihnen Das Heben von Baugrundstücken vor. PHP8 wird ein Konzept vorstellen, das in Sprachen wie Hack, Korlin oder TypesScript bekannt ist. Wie funktioniert es und in welchen Situationen kann es eingesetzt werden? Schauen wir uns das folgende Beispiel an:

Alt Text

Ein ziemlich einfaches numerisches Objekt, nicht wahr? Mit dieser Art haben wir fast täglich zu tun. Immer wenn wir einen Wert von einem Konstruktorparameter an eine Eigenschaft in der Klasse übergeben müssen, müssen wir den gesamten Vorlagencodeblock schreiben, wie in der Abbildung gezeigt, was in der Tat etwas nervig ist. Die Konstruktorattribut-Promotion-Funktion wird dieses Problem für uns lösen und das Schreiben ähnlicher Codes kürzer und einfacher machen. Werfen wir einen Blick auf die Verwendung:

Alt Text

Wir können einfach einen Zugriffsmodifikator vor der Typdeklaration des Konstruktorparameters hinzufügen, und dann wird der Parameter automatisch zugewiesen das gleichnamige Class-Attribut. Wir können verstehen, dass im Konstruktor Parameter mit Zugriffsmodifikatoren heraufgestuft werden und zu Klassenattributen mit demselben Namen werden.

Sie können Immobilienwerbung mit regulären Immobiliendeklarationen kombinieren. Wie im folgenden Beispiel gezeigt:

Die neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!

Der obige Beispielcode entspricht dem Code im folgenden Beispiel:

Die neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!

Konstruktorattribut-Promotion (Constructor Property Promotion) kann nur in regulären Klassen und traits Referenzklassen verwendet werden. Es kann nicht in Schnittstellen und abstrakten Klassen verwendet werden (obwohl wir in diesen Klassen Konstruktoren deklarieren können).

Wenn Ihr Code viele Value Objects (VO) oder Data Transfer Objects (DTO) verwendet, wird die Constructor Property Promotion Ihren Code erheblich vereinfachen und verkürzen. Ähnliche Funktionswünsche wurden mehrfach diskutiert, aber nur die von Nikita Popov geschriebene Implementierung erhielt ausreichend positive Bewertungen, um in die neue PHP-Version integriert zu werden. Mehr darüber können Sie in diesem RFC lesen.

Im nächsten Teil der „Inside PHP8“-Reihe besprechen wir die Implementierung von Union-Typen. Bleiben Sie dran!


Dieser Artikel wurde ursprünglich auf unserem Blog veröffentlicht. Sie können hier klicken, um es anzuzeigen.


Originaladresse: https://dev.to/avantar/pe-into-php8-pa...

Übersetzungsadresse: https://learnku. com/laravel/t/47600

Das obige ist der detaillierte Inhalt vonDie neuen Funktionen von PHP8, das Konstruktorattribut, wurden erheblich verbessert!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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