PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP8でのコンストラクタープロパティのプロモーション


PHP 8では、コンストラクタープロパティの昇格が追加されています。単純なオブジェクトを作成しながら、多くの定型コードを減らすのに役立ちます。この機能により、クラスフィールド、コンストラクター定義、および変数の割り当てをすべて1つの構文で、コンストラクターパラメーターリストに組み合わせることができます。

クラスプロパティとコンストラクターを指定する代わりに、コンストラクタープロパティプロモーションを使用してそれらすべてを組み合わせることができると言えます。

例1:PHP7コード

<?php
   class Account {
      public float $a;
      public float $b;
      public float $c;
      public function __construct(
         float $a = 0.0,
         float $b = 0.0,
         float $c = 0.0,
      )
      {
         $this->a = $x;
         $this->b = $y;
         $this->c = $z;
      }
   }
?>

例2:PHP8コード

上記のPHP7コードをPHP8で次のように書き直すことができます-

<?php
   class Account {
      public function __construct(

         public float $a = 0.0,
         public float $b = 0.0,
         public float $c = 0.0,
      ) {}
   }
   $Account =new Account (10.90,20.0,30.80);
      print_r($Account->a);
      print_r($Account->a);
      print_r($Account->a);
?>

出力

10.9 20 30.8

上記のコードでは、コンストラクターシグネチャでプロパティ定義とポピュレーションインラインを組み合わせました。このコードは繰り返しを削除します。

例3:コンストラクタープロパティプロモーション用のPHP8コード

<?php
   class Employee {
      public function __construct(
         public int $id,
         public string $name,
      ) {}
   }
   $employee = new Employee(11, 'Alex');
      print_r($employee->id);
      print_r($employee->name);
?>

出力

11 Alex

  1. JavaScriptの日付コンストラクタープロパティ

    JavaScriptのDateコンストラクタープロパティは、日付のコンストラクター関数を返します。 以下は、JavaScriptの日付コンストラクタープロパティのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &

  2. プロパティ、メソッドをJavaScriptコンストラクターに追加するにはどうすればよいですか?

    以下は、JavaScriptコンストラクターにプロパティメソッドを追加するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <sty