これが大きなトピックであることは理解していますが、特に OO PHP でエラーを処理するためのベスト プラクティスの方法に関する大まかなアイデアをいただければ幸いです (ただし、言語の仕様を超える優れたパターンにも関心があります)。これらのクラスとアプリケーションが大規模なものであると仮定しましょう。
また、最も推奨される方法は PHP の例外モデルを利用することであることも認識しており、以下の例がこれにどのように変換されるかを知りたいと思っています。
編集:私が探しているのは、たとえばフォームデータの検証時に生成されたエラー(メソッドの呼び出し方法に関するエラーではない)を処理する最善の方法に関するアイデアです。おそらく、例外モデルはこのユースケースには適していませんEND EDIT
特に、すべてのエラーをすぐに表示/使用する必要があるわけではないことを考えると (同じメソッドで複数の例外をスローできますか?)、ログに記録する必要があるものもあれば (これは別の質問だと思います)、他の依存関係がある場合にのみ関連するものもあります。 true (または false) であり、警告だけの場合もあれば、重大な場合もあれば、ステータス/通知の場合もあります。
私が取っている現在のアプローチは、次のようなものです。
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
タール族、