我想检查$ duration是DateInterval类型的对象,否则抛出异常。如果$ duration不是对象,则get_class函数失败...并且此代码看起来很长
if (is_object($duration)) {
if (get_class($duration) != "DateInterval") {
throw new \Exception('The provided duration is not DateInterval type.');
}
} else {
throw new \Exception('The provided duration is not DateInterval type.');
}
有更好的方法吗?
答案 0 :(得分:3)
我会使用instanceof
方法。参见示例:
$obj = new A();
if ($obj instanceof A) {
echo 'A';
}
https://secure.php.net/manual/en/internals2.opcodes.instanceof.php
答案 1 :(得分:2)
使用instanceof
:
if (!$duration instanceof DateInterval) {
// throw Exception
}