让我们有以下几个类:
class baseClass {
function method() {
echo 'A';
}
}
trait mixin {
function mixinFunction() {
... /// <-- problem here
}
}
class currentClass {
use mixin;
function method() {
mixinFunction();
}
}
...
$object = new currentClass();
$object->method();
在不改变类/方法结构和不将非静态方法调用为静态方法的情况下,是否可以从trait中执行baseClass::method()
以在调用$object->method();
时回显'A'?
编辑:
这是个愚蠢的问题,答案是在trait方法中使用parent::method()
,它将调用baseClass::method()
。
parent::method()
。当我问这个问题时,由于我的错误,它没有在我这里起作用 :) 人们说“正确的问题等于答案的一半以上”,这正是我的情况 :) - Alexander Pravdin