场景:
trait A {
function calc($v) {
return $v+1;
}
}
class MyClass {
use A;
function calc($v) {
$v++;
return A::calc($v);
}
}
print (new MyClass())->calc(2); // should print 4
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用,我找不到像继承那样调用特征函数的方法.我试着打电话self::calc($v),static::calc($v)和parent::calc($v),A::calc($v)以及以下内容:
trait A {
function calc($v) {
return $v+1;
}
}
class MyClass {
use A {
calc as traitcalc;
}
function calc($v) {
$v++;
return traitcalc($v);
}
}
Run Code Online (Sandbox Code Playgroud)
什么都行不通.
有没有办法使它工作或必须完全覆盖比这复杂得多的特征函数:)