我有一个功能:
public function Customerrating() { $result = $db->query("..."); $row = $result->fetch_assoc(); if($row) $output = $row['somefield']; } else { $output = "error"; } return $output; } //somewhere on another page... if(is_numeric($class->Customerrating()) { echo $class->Customerrating; } else { echo "There is an error with this rating."; }
有没有更好的方法来发现错误?在这个函数中,如果没有返回任何行,它本身并不意味着“错误”,它只是意味着无法计算该值.当我检查一个函数的结果时,我觉得有一个更好的方法来检查在if函数中显示之前返回的数据.最好的方式是做什么?我想返回一个“false”,但是当调用这个函数时我该怎么检查呢?谢谢!
有(在我看来)有两种常见的方法:
>返回错误
许多内置的PHP函数做到这一点
>使用SPL exceptions演进的PHP框架(Symfony2,ZF2,…)这样做