SOAP サーバーに依存してコンテンツを生成するアプリケーションがあります。さらに、サイトへの認証は別の LDAP サーバーに基づいています。これらのいずれかがダウンしているか応答していない場合、サイトがダウンしていることは明らかです。
サイト管理者向けのエラー レポートを作成し、サイトがダウンした場合にユーザーに適切なメッセージを表示できるように設計しようとしています。エラー報告は、実際には単なる電子メール、データベースへの挿入、または PHP のサーバー上のテキスト ファイルへのログ $_COOKIE、$_SERVER、$_SESSION、$_REQUEST に加えて、SoapFault 例外の可能性があります。この情報は、サイトで潜在的な問題が発生した場合にデバッグするのに役立ちます。
現在、私のサイトは次のように設計されています。
SoapClientInterface (defines soap functionality)
/ \
|
| implements
|
Client (the client implementing the interface, try/catch blocks on all soap calls here)
/ \
|
| extends
|
Authorization (asserts soap objects returned from server/ requests going to server
are appropriate for the user performing the request)
/ \
|
| extends
|
{all children classes using the soap interface defined on this level}
上記の貧弱な図から:-)私はsoapfault例外のtry catchブロックをすべて含むクラスClientを持っており、catchで2つのことを行う最善の方法を考えています:1.アクションが失敗したことをユーザーに通知します(私のすべての機能は if/else ブロックにあり、操作が失敗したと判断した場合は、ユーザーをステータス ページにリダイレクトし、アクションが失敗したことを通知します.
2. デバッグのためにサイト管理者に状況を報告します (現時点でこの機能はステータス ページで定義された単純な関数で、ステータス ページがエラー コードを取得すると、Cookier、Server、Session、および Request 変数をダンプし、これをサイト管理者に電子メールで送信します。
これに関する提案をいただければ幸いです。明確化が必要な場合は、お問い合わせください。
編集: Web プログラミングの経験では、私のアプリケーションは通常、アクションが発生したページにユーザー アクションのステータスを表示し、他の場所にリダイレクトしません。ユーザー アクションを実行し、すべてのステータス メッセージに対して別のページにリダイレクトするようにアプリケーションをコーディングしたのはこれが初めてです。すべてのサイト アクションに対して 1 つのステータス ページを用意することや、アクションが発生したページのステータスを報告するクラス/関数を用意することにメリットがあると考える人はいますか? (ステータスページのデザインを独自に考えることと、エラーを報告する方法とそうでないことについて質問しています。)