PHP 8.2 新機能の概要とコード例

2023-03-17
タグ PHP

PHP 8.2 では、パフォーマンスの向上やコードの簡潔さを実現するための新機能が多数追加されました。以下に、PHP 8.2 の主な新機能とそれぞれのコード例を紹介します。

1. Enums(列挙型)

PHP 8.2 では、列挙型が追加されました。列挙型を使用すると、特定の値のみを許可する型を定義できます。これにより、コードの安全性と可読性が向上します。

php
enum Status { case Draft; case Published; case Archived; } function updateStatus(Status $status): void { // 処理 } updateStatus(Status::Published); // 正常 updateStatus("Published"); // エラー:Status 型が期待されています

2. Readonly プロパティ

Readonly プロパティを使用すると、オブジェクトのプロパティを不変にできます。これにより、一度設定された値を後から変更できなくなります。

php
class 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 => "不明なステータス", };
前のページに戻る