※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「トレイトについて その5」を公開しました。
前回に引き続き、実際のコードでtraitをより深く理解してきましょう。
まずは「2つのtrait」です。これは普通に書く事ができます。
trait hoge { public function ho() { echo "function ho\n"; }
}
trait foo { public function oo() { echo "function oo\n"; }
}
class bar { use hoge, foo;
}
//
$obj = new bar();
$obj->ho();
$obj->oo();
useを2行(以上)にしてもよいのですが(エラーは出ません)、複数のtraitを使う場合、
カンマ区切りで連続して記述することもできます。
書き方はどちらでもよいようなのですが、PHPの公式のマニュアルの書き方だと、
どちらかというと「カンマ区切りで連続して記述」を推しているようにも見受けられますので、
ちょっとだけ意識をしておいてもよいでしょう。
では、trait同士で「メソッド名がぶつかってしまった場合(名前の衝突)」はどうなるのでしょうか?
この続きは以下をご覧くださいhttp://resocia.jp/column/4841/- この記事のキーワード
