PHP 8.2 新機能の概要とコード例
2023-03-17
タグ
PHP
PHP 8.2 では、パフォーマンスの向上やコードの簡潔さを実現するための新機能が多数追加されました。以下に、PHP 8.2 の主な新機能とそれぞれのコード例を紹介します。
1. Enums(列挙型)
PHP 8.2 では、列挙型が追加されました。列挙型を使用すると、特定の値のみを許可する型を定義できます。これにより、コードの安全性と可読性が向上します。
phpenum Status {
case Draft;
case Published;
case Archived;
}
function updateStatus(Status $status): void {
// 処理
}
updateStatus(Status::Published); // 正常
updateStatus("Published"); // エラー:Status 型が期待されています
2. Readonly プロパティ
Readonly プロパティを使用すると、オブジェクトのプロパティを不変にできます。これにより、一度設定された値を後から変更できなくなります。
phpclass Article {
public readonly string $title;
public function __construct(string $title) {
$this->title = $title;
}
}
$article = new Article("PHP 8.2 の新機能");
$article->title = "変更しようとしてもエラー"; // エラー:readonly プロパティを変更できません
3. パターンマッチングの強化
PHP 8.2 では、パターンマッチングが強化されました。新しいマッチ式により、条件をより簡潔に記述できます。
php$status = "published";
$result = match ($status) {
"draft" => "下書き",
"published" => "公開済み",
default => "不明なステータス",
};