PHP insteadof 关键词

定义和用法

insteadof 关键字允许你在多个 trait 拥有同名方法时,选择应从哪个 trait 中获取该方法。

相关页面

参考手册:trait 关键字

教程:PHP OOP- trait

实例

使用 insteadof 从不同的 trait 中选择方法:

<?php  
trait message1 {  
  public function msgA() {  
    echo "我最喜欢的颜色是红色。";  
  }  
  
  public function msgB() {  
    echo "我最喜欢的数字是5。";  
  }  
}  
  
trait message2 {  
  public function msgA() {  
    echo "我最喜欢的颜色是蓝色。";  
  }  
  
  public function msgB() {  
    echo "我最喜欢的数字是7。";  
  }  
}  
  
class MyClass {  
  use message1, message2 {  
    message1::msgA insteadof message2;  
    message2::msgB insteadof message1;  
  }  
}  
  
$obj = new MyClass();  
$obj->msgA();  
$obj->msgB();  
?>

亲自试一试