我从来不确定在 PHP 中要做多少变量检查。例如下面的一段代码。在分配变量或将它们传递给函数以查看它们是否包含我期望的内容之前,我没有检查任何变量
$carId = '12';
$aCar = fetchCar($carId);
$make = $aCar['make'];
$model = $aCar['model'];
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
现在如果我添加一些检查
$carId = '12';
if(is_numeric($carId))
{
$aCar = fetchCar($carId);
if(isset($aCar['make']) && is_string($aCar['make']))
{
$make = $aCar['make'];
}
else
{
//Report error
}
if(isset($aCar['model']) && is_string($aCar['model']))
{
$model = $aCar['model'];
}
else
{
//Report error
}
if(isset($aCar['year']) && is_numeric($aCar['year']))
{
$yearMade = $aCar['year'];
$age = calcAge($yearMade);
}
else
{
//Report error
}
}
else
{
//Report errors
}
代码现在更好了,但它是否有点过于臃肿?我应该做这么多检查吗?
如果我不应该做这么多检查,你在哪里划定你应该检查和不应该检查的界限?