我有一个依赖肥皂服务器来生成内容的应用程序。此外,对站点的身份验证基于单独的 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}
从上面的糟糕图表中:-) 我有一个类 Client,它包含我所有的尝试 catch 块,用于处理 soapfault 异常,我想知道用 catch 做两件事的最佳方法:1. 通知用户一个操作失败(我所有的功能在 if/else 块中,如果我确定操作失败,我会将用户重定向到状态页面并通知他们他们的操作失败
。2. 将情况报告给站点管理员以进行调试(目前此功能是状态页面中定义的一个简单函数,当状态页面收到错误代码时,我们会转储 Cookie、服务器、会话和请求变量并将其通过电子邮件发送给站点管理员。
对此的任何建议将不胜感激,或者如果您需要澄清,请询问。
编辑:根据我的网络编程经验,我的应用程序通常会在发生操作的页面上显示用户操作的状态,并且不会重定向到其他地方。这是我第一次编写应用程序来执行用户操作并将所有状态消息重定向到单独的页面。我是否应该为这样做而自责,是否有人认为为所有站点操作提供一个状态页面或在发生该操作的页面上报告状态的类/函数有什么好处?(我问这个是关于自己考虑状态页面的设计以及如何报告错误等等。)