대본:
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
이 코드는 작동하지 않으며 상속 된 것처럼 특성 함수를 호출하는 방법을 찾을 수 없습니다. 내가 전화 시도 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);
}
}
아무것도 작동하지 않습니다.
작동시키는 방법이 있습니까? 아니면 이보다 훨씬 복잡한 특성 기능을 완전히 재정의해야합니다. :)