キーワード trait

キーワード trait は、トレイトを作成するために使用されます。トレイトはPHPにおけるコード再利用のメカニズムです。トレイトはクラスに似ていますが、機能を小さく分かりやすい単位でグループ化することを目的としています。これらはキーワード use を使ってクラスに接続することができます。

構文

phptrait TraitName {
  // トレイトのプロパティとメソッド
  public function method1() {
    // 実装
  }
}

例

シンプルなトレイトを作成し、クラスに接続してみましょう:

php<?php
  trait Logger {
    public function log($message) {
      echo "Logging: " . $message;
    }
  }

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("User created");
?>

コード実行結果:

php'Logging: User created'

例

クラスは複数のトレイトを同時に使用できます:

php<?php
  trait Timestamp {
    public function getCurrentTime() {
      return date('Y-m-d H:i:s');
    }
  }

  trait Serializer {
    public function toJson($data) {
      return json_encode($data);
    }
  }

  class Product {
    use Timestamp, Serializer;
  }

  $product = new Product();
  echo $product->getCurrentTime();
?>

コード実行結果:

php'2023-11-15 14:30:00'

関連項目

  • クラスを宣言するために使用される class コマンド
  • インターフェースを宣言するために使用される interface コマンド