C не имеет исключений, поэтому в общем случае вы должны поймать все исключения и вернуть код ошибки и / или предоставить функцию, которая возвращает информацию о последней ошибке.
interface IInterface
{
}
class TheClass implements IInterface
{
}
$cls = new TheClass();
if ($cls instanceof IInterface) {
echo "yes";
}
можно использовать "instanceof" оператор. Для использования его левый операнд является экземпляром класса, и правильный операнд является интерфейсом. Это возвращает true, если объект реализует конкретный интерфейс.
nlaq указывает, что instanceof
может использоваться, чтобы протестировать, если объект является экземпляром класса, который реализует интерфейс.
, Но instanceof
не различает тип класса и интерфейс. Вы не знаете, ли объект класс , который, оказывается, называют IInterface
.
можно также использовать API Reflection в PHP для тестирования этого более конкретно:
$class = new ReflectionClass('TheClass');
if ($class->implementsInterface('IInterface'))
{
print "Yep!\n";
}