我有一个依赖于soap服务器来生成内容的应用程序。此外,对站点的身份验证基于单独的LDAP服务器。显然,如果这两个都关闭或没有反应的网站是关闭。
我试图布局这样一个设计,我可以有网站管理员的错误报告,也给了一个很好的信息,以用户的情况下,该网站是关闭的。错误报告实际上只是PHPs$\u COOKIE、$\u server、$\u SESSION、$\u 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块,我想知道用catch做两件事的最佳方法:
1通知用户操作失败(我的所有功能都在if/else块中,如果我确定操作失败,我会将用户重新引导到状态页,并通知他们操作失败。
2将情况报告给站点管理员进行调试(目前这个功能是在status page中定义的一个简单函数,当status page得到错误代码时,我们转储Cookier、Server、Session和Request变量,并通过电子邮件发送给站点管理员。
如果您对此有任何建议,我们将不胜感激,如果您需要澄清,请询问。
编辑:根据我在网络编程方面的经验,我的应用程序通常会在发生操作的页面上显示用户操作的状态,而不会重新定向到其他地方。这是我第一次编写一个应用程序来执行用户操作,并将所有状态消息重定向到一个单独的页面。我应该为这样做而自责吗,有没有人认为所有站点操作都有一个单独的状态页,或者有一个类/函数在发生操作的页面上报告状态是有好处的?(我问这个问题是考虑到状态页本身的设计,以及如何报告错误和不报告错误。)