StUV
Rotaredom
т.е. я бы использовал instanceof в случаях динамических зависимостей на типах:
но проверка типа входного параметра должна быть на уровне языка (если проверка нужна)
++
в реале я и такое не использую - так как код по возможности дожен быть прозрачен относительно понимания текущего типа переменной - иначе дебаг будет невыносимым
к тому же сам по себе instanceof в некотором смысле рушит основы ОО-структур - т.е. в данном примере мы статически связываем входной параметр с некоторым типом - фактически то что внутри IF должно быть внутри метода класса справа от instanceof
PHP:
interface ISome {...}
class C implements ISome {...}
class C1 extends C {...}
class C2 extends C {...}
...
function someFunc(ISome $obj)
{
...
if ($obj instanceof C1) {...}
if ($obj instanceof C2) {...}
...
}
++
в реале я и такое не использую - так как код по возможности дожен быть прозрачен относительно понимания текущего типа переменной - иначе дебаг будет невыносимым

к тому же сам по себе instanceof в некотором смысле рушит основы ОО-структур - т.е. в данном примере мы статически связываем входной параметр с некоторым типом - фактически то что внутри IF должно быть внутри метода класса справа от instanceof