ホームページ  >  記事  >  バックエンド開発  >  PHP8の新機能であるconstructor属性が大幅に強化されました。

PHP8の新機能であるconstructor属性が大幅に強化されました。

藏色散人
藏色散人転載
2020-07-23 13:17:165924ブラウズ


PHP8の新機能であるconstructor属性が大幅に強化されました。

#PHP の新しいバージョンは、

12 月 3 日に正式にリリースされます。多数のバグ修正と小さな改善に加えて、世界中の開発者はいくつかの新しい興味深い機能も入手できるようになります。リストはまだ終わっていませんが、私たちが楽しみにしている新機能を見てみましょう。それぞれに焦点を当てた一連の短い記事を用意する予定ですので、始めましょう。

最初の記事では、

コンストラクター属性のプロモーションについて紹介します。 PHP8 は、Hack、Korlin、TypesScript などの言語で有名な概念を導入します。どのように機能し、どのような状況で使用できるのでしょうか?次の例を見てみましょう:

Alt Text

非常に単純な数値オブジェクトですね。私たちはほぼ毎日このタイプの対応をしています。コンストラクター パラメーターからクラス内のプロパティに値を渡す必要がある場合は、図に示すようにテンプレート コードのブロック全体を記述する必要がありますが、これは確かに少し面倒です。コンストラクター属性プロモーション関数はこの問題を解決し、同様のコードの記述をより短く、より簡単にします。使用方法を見てみましょう:

Alt Text

コンストラクター パラメーターの型宣言の前にアクセス修飾子を追加するだけで、パラメーターが自動的に割り当てられます。同じ名前の Class 属性。コンストラクターでは、アクセス修飾子を持つパラメーターが昇格され、同じ名前のクラス属性になることがわかります。

プロパティのプロモーションと通常のプロパティの宣言を組み合わせることができます。次の例に示すように:

PHP8の新機能であるconstructor属性が大幅に強化されました。

#上記のコード例は、次の例のコードと同等です:

PHP8の新機能であるconstructor属性が大幅に強化されました。

Constructor 属性のプロモーション (コンストラクター プロパティのプロモーション) は、通常のクラスと

traits 参照クラスでのみ使用できます。インターフェイスや抽象クラスでは使用できません (ただし、これらのクラスでコンストラクターを宣言することはできます)。

コードで

Value オブジェクト (VO) または データ転送オブジェクト (DTO) を多数使用する場合、コンストラクター プロパティのプロモーションによりコードが大幅に簡素化され、短縮されます。同様の機能リクエストが何度か議論されましたが、Nikita Popov によって書かれた実装のみが十分な好意的な評価を受け、新しい PHP バージョンに統合されることになりました。詳細については、この RFC を参照してください。

「PHP8 の詳細」シリーズの次のパートでは、共用体型の実装について説明します。乞うご期待!


この記事はもともと当社のブログに公開されたものです。

ここをクリックして表示できます。


元のアドレス: https://dev.to/avantar/pe-in​​to-php8-pa...

翻訳アドレス: https://learnku. com/laravel/t/47600

以上がPHP8の新機能であるconstructor属性が大幅に強化されました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。