我习惯于在编写函数时检查我的参数类型。有没有这个原因呢?作为一个例子,在这段代码中保留字符串验证还是删除字符串验证是一种很好的做法,为什么?你应该验证PHP函数中的参数类型吗?
function rmstr($string, $remove) {
if (is_string($string) && is_string($remove)) {
return str_replace($remove, '', $string);
}
return '';
}
rmstr('some text', 'text');
有些时候,你可能会想到不同的参数类型和运行它们不同的代码,在这种情况下,验证是必要的,但我的问题是,如果我们应明确检查的类型和避免错误。
除非您制作API库或处理来自用户的输入,否则它是过度的。 – thedaian
我想如果你写的每一个函数都做了这个,那么性能会逐渐衰减,特别是如果它们是只有你调用的内部/私有函数的话。 –
我想这取决于如果你没有测试并且失败会发生什么。 – Steve