1、使用 insteadof 操作符来明确指定使用冲突方法中的哪一个 2、as 操作符可以 为某个方法引入别名
<?php
trait A
{
public function smallTalk()
{
echo 'a';
}
public function bigTalk()
{
echo 'A';
}
}
trait B
{
public function smallTalk()
{
echo 'b';
}
public function bigTalk()
{
echo 'B';
}
}
class Aliased_Talker
{
use A, B {
B::smallTalk insteadof A; //使用B的smallTalk方法
A::bigTalk insteadof B; //使用A的bigTalk方法
B::bigTalk as talk; // talk 来作为 B 的 bigTalk 的别名
}
}
(new Aliased_Talker())->smallTalk(); //b
(new Aliased_Talker())->bigTalk(); //A
(new Aliased_Talker())->talk(); //B
最新评论