у меня следующий случай
switch ($var) {
case 'a':
$model = 'x';
break;
case 'b':
$model = 'y';
break;
// others cases ...
default:
// does actions and calls exit(),
// so i don't have to put return/break after call
// because it is unreachable, but phpstorm don't know it
myfunc();
}
// here inspector says me "variable $model might not be defined"
// but always have $model here
anotherfunc($model);