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
-
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" /> &
-
プロパティ、メソッドを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