PHP insteadof 关键词
定义和用法
insteadof
关键字允许你在多个 trait 拥有同名方法时,选择应从哪个 trait 中获取该方法。
相关页面
参考手册: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();
?>