You should definitly use `ReflectionClass::isSubclassOf()`