前回に引き続き、実際のコードで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同士で「メソッド名がぶつかってしまった場合(名前の衝突)」はどうなるのでしょうか?
この続きは以下をご覧ください
(リンク »)
お問い合わせにつきましては発表元企業までお願いいたします。