php8.0 Constructor Property Promotionを使用する
php8.0の新機能、Constructor Property Promotionを使用したサンプルコードを記述してます。
環境
- OS CentOS Linux release 8.0.1905 (Core)
- php 8.0.0
Constructor Property Promotion使い方
Constructor Property Promotionを使用しないと、以下のようにオブジェクトの初期化に多くのコードが必要でした。
<?php
class Hoge {
public int $x;
public int $y;
public int $z;
public function __construct(
int $x = 0,
int $y = 1,
int $z = 2,
) {
$this->x = $x;
$this->y = $y;
$this->z = $z;
}
}
$hoge = new Hoge;
echo $hoge->x ."\n";
// 0
echo $hoge->y ."\n";
// 1
echo $hoge->z ."\n";
// 2
Constructor Property Promotionを使用すると以下のように記述できるようになります。
<?php
class Hoge {
public function __construct(
public int $x = 0,
public int $y = 1,
public int $z = 2,
) {}
}
$hoge = new Hoge;
echo $hoge->x ."\n";
// 0
echo $hoge->y ."\n";
// 1
echo $hoge->z ."\n";
// 2
-
前の記事
javascript \nをエスケープせずに文字列として扱う 2020.11.30
-
次の記事
C# monthCalendarで日付を選択する 2020.11.30
コメントを書く