基本的php类,错误捕获参数

时间:2013-11-06 01:17:56

标签: php class

我有一个非常基本的问题,关于我正在做的事情是不是一个好的做法,或者是过度的。

class myClass
{
    public function doSomething($thing=false)
    {
        if (!$thing) echo "Your thing is missing!";
        echo "Did you get that $thing I sentcha?";
    }
}

每个功能是否应该采取这些预防措施,或者只考虑那些可能被误用的功能(尽管我认为这些功能是主观的)。

将函数参数设置为false是一个好习惯(假设它们通常应该带有非伪值)?这也可以防止其他开发人员误用这些函数,主要是因为他们忘记输入值。

或者......如果我假设使用此功能的开发人员会正确使用它并且不遗漏$thing,这是否是浪费/过度杀伤?

1 个答案:

答案 0 :(得分:4)

不要这样做,具有预设参数值的函数基本上是不传递参数的邀请。特别是如果您使用的是具有自动完成功能的IDE ...

如果使用缺少的参数调用该方法,PHP将会抱怨,并且您应该主动检查参数是否有效,如果不是这样,则抛出异常。

作为一般规则,尝试扩展验证,以便验证实际格式(数字,字符串,百分比,货币......),而不仅仅检查是否存在“某事”;)