私はプロジェクトオブジェクトを持っています。 ユーザーは、ワーカーオブジェクトを割り当てることができます。PHP例外とユーザメッセージ
プロジェクトオブジェクトには、すべての適切なフィールドが設定されています。 場合によっては、プロジェクトにフィールドがありません。
作業者がプロジェクトに割り当てるには、プロジェクトに必要なすべてのフィールドが設定されている必要があります。
は、これを解決するために、私はこのような例外をスロー:これに伴う問題は、私は表示する必要があるということです
if ($project->startDate == false) { throw new Exception("Missing startDate attribute for project id: $id"); } if ($project->finishDate == false) { throw new Exception("Missing finishDate attribute for project id: $id"); } if ($project->startDate > $project->finishDate) { throw new Exception("Invalid start date for project id: $id"); }
(ここでは、パターンを見つけようとしません、実際の例では、より複雑です)カスタムメッセージを毎回ユーザーに送信します。たとえば、最初のエラーがスローされた場合、「プロジェクトの開始日を設定してください。
どうすればいいですか?
私はすでにスローされ、例外です。問題は、それぞれのケースごとに異なるものを表示する必要があることです。また、私はerror_logにそれを記録するので、私はメッセージを変更することができません、私は技術的な情報が必要です。 – danidacar
@danip申し訳ありませんが、このコードはあなたが記述したものとまったく同じです。これは、例外オブジェクトを作成した引数を表示します。エラーを記録する場合は、 '' echo''の代わりに['error_log'](http://php.net/manual/en/function.error-log.php)を呼び出してください。 – phihag
私の問題はもう少し抽象的です。テクニカルエラーメッセージ(エラーログで使用できる)を投げる方法と、それぞれのケースに対してユーザーに異なるフレンドリーなメッセージを与える方法です。 – danidacar