PHP 5.4.0 以降、PHP はトレイトと呼ばれるコード再利用の方法を実装しました。
Traits は、PHP のような単一継承言語用に用意されたコード再利用メカニズムです。トレイトは、単一継承言語の制約を軽減し、開発者が異なる階層内の独立したクラスでメソッド セットを自由に再利用できるように設計されています。特性とクラス構成のセマンティクスは、複雑さを軽減し、従来の多重継承とミックスインに関連する典型的な問題を回避する方法を定義します。
Trait はクラスに似ていますが、きめ細かく一貫した方法で機能を組み合わせるようにのみ設計されています。特性を単独でインスタンス化することはできません。これは、従来の継承に水平機能の組み合わせを追加します。つまり、アプリケーション クラスのメンバーを継承する必要がありません。
Trait は PHP5.4 で追加されたもので、インターフェイスでもクラスでもありません。主に単一継承言語の制限を解決するためです。これは、PHP における多重継承の解決策です。たとえば、2 つの抽象クラスを同時に継承するのは非常に面倒です。Trait はこの問題を解決するように設計されています。 1 つ以上の既存のクラスに追加できます。これは、クラスが実行できること (そのインターフェイスの特性を示す) を宣言し、(そのクラスの特性を示す) 特定の実装も含まれます
使いやすい
まず、もちろん、PHP5.4 で追加された trait キーワードを宣言します。 リーリー
同時に、この特性をクラスで使用したい場合は、useキーワードを使用してくださいリーリー
複数の特性を使用する
リーリー
Traits間のネスト
リーリー
Trait の抽象メソッド
リーリー
特性の衝突
複数の特性を同時に使用すると、必然的に競合が発生するため、解決する必要があります。 PHP5.4 では、文法面から関連するキーワード構文を導入しています: 使用法については、を参照してください。 リーリー
上記はトレイトの基本的な使い方です。詳しくは公式マニュアルを参照してください。注意すべき点をいくつかまとめます:Trait は呼び出しクラスによって継承された親クラスのメソッドをオーバーライドします
新しいクラスなどを使用してトレイトをインスタンス化することはできません
単一の特性は複数の特性で構成できます
1つのクラスで複数の特性を使用できます
Trait は、final、static、abstract などの修飾子をサポートします
特性間の競合を解決するために、演算子の代わりにおよび演算子として使用できます
興味があるかもしれない記事: PHPのトレイトの詳しい説明
http://www.bkjia.com/PHPjc/1117032.html