使用组合时,如果对象不属于接口类型,则应显式抛出异常。
一个例子是:
$myObject = new MyConcreteTypeA();
现在,我的界面是MyInterface
.
那么,我是否应该检查$myObjec
t 的类型以确保它MyInterface
在使用之前实现,如果没有则抛出错误?
IE
if (! ($myObject instanceof MyInterface)) {
throw new Exception('Invalid type');
}
或者这只是粗鲁?