我意识到这是一个很大的话题,但我会欣赏一些关于处理错误的最佳实践方法的粗略想法,特别是在 OO PHP 中(但也对超越语言细节的良好模式感兴趣)。让我们假设这些类和应用程序是大规模的。
我也意识到最推荐的方法是使用 PHPs 异常模型,我很想知道下面的例子如何转化为这个。
编辑:我正在寻找的是关于如何最好地处理验证表单数据时产生的错误的想法(而不是方法被调用的错误),也许异常模型不适合这个用例结束编辑
特别是考虑到并非所有错误都需要立即显示/使用(可以在同一方法中抛出多个异常吗?),有些可能需要记录(我猜这是另一个问题),有些可能只有在其他依赖项是相关的真(或假),有些可能只是警告,有些可能很关键,有些可能是状态/通知。
我目前采用的方法大致如下:
class ClassName()
{
public MethodName( $data, &$errors )
{
$e = [];
// validate content and perform data handling
// any errors should be added to the array $e
if( empty( $e ) ) {
return $processed_data;
} else {
$errors = $e;
return false;
}
}
}
// and then calling:
$method_call = ClassName::MethodName( $data, $errors );
if( $method_call ) // do something with the data/display success message etc.
else // decide what to do with any errors
焦油人,