我有一个由一组类组成的 PHP 对象。为简单起见,我们称它为扩展类 B 的类 C 的对象,而类 B 又扩展类 A。在我的代码中的某个时刻,我想通过调用它从接口 I 继承的 doCleanup() 函数来清理对象:
interface I { public function doCleanup(); }
class A implements I { ... }
class B extends A { ... }
class C extends B implements I { ... }
在 CI 类的 doCleanup 函数中,还希望在我的父类中执行任何清理函数(在本例中,是 A 类中的 doCleanup())。但是,对于某些对象,我不确定是否有任何父类实际上实现了接口 I,所以我不确定我是否可以简单地调用parent::doCleanup()
.
因此,我的问题是,是否有办法检查我的祖先是否实现了该接口,例如通过使用某种instanceof
调用?