所以我的理解是我不能键入提示可能传递给一个类的多个对象。所以我想我可以利用反射 api 来解决这个问题。也许一般来说这是不好的做法,但事实就是如此。无论如何,这里基本上是我的布局。如果不使用反射类,是否有任何类型提示多个类的方法?这是处理这种情况的好方法吗?
interface Power { }
class mPower implements Power { }
class cPower implements Power { }
class Model extends ApiModel {
function __construct(stdClass $powerObj) {
$po = new ReflectionClass($powerObj);
if ( in_array('Power', $po->getInterfaceNames())) {
// do something
}
}
}