Следует ли проверять типы параметров в функциях PHP?

Я привык к привычке проверять тип своих параметров при написании функций. Есть ли причина за это или против? Например, будет ли хорошей практикой сохранить проверку строки в этом коде или удалить ее, и почему?

function rmstr($string, $remove) {
    if (is_string($string) && is_string($remove)) {
        return str_replace($remove, '', $string);
    }
    return '';
}

rmstr('some text', 'text');

Бывают случаи, когда вы можете ожидать разные типы параметров и запускать для них другой код, и в этом случае проверка выполняется важно, но мой вопрос в том, должны ли мы явно проверять тип и избегать ошибки.

7
задан Aram Kocharyan 20 September 2011 в 00:37
поделиться