class A
{
public function __construct($v1,$v2) {}
}
class B extends A
{
}
class C extends B
{
}
echo (new \ReflectionClass('C'))->getConstructor()->class;
这就像一个魅力,它按预期产生A
。到现在为止还挺好。
但后来trait
出现了:
trait X
{
public function __construct($fake) {}
}
class A
{
public function __construct($v1,$v2) {}
}
class B extends A
{
use X;
}
class C extends B
{
}
echo (new \ReflectionClass('C'))->getConstructor()->class;
它现在生成B
!但我想知道A::constructor
的参数,而不是X::constructor
!如何躲闪它?