【发布时间】:2012-03-23 03:45:40
【问题描述】:
我有一个正在开发的应用程序,它使用数据库来实现其功能的子集。在开发过程中,我们对数据库不可用的预期高于正常预期。一旦启动,即使数据库中断,我们仍然希望应用程序的主体能够正常工作。
我所有面向数据库的类都扩展了一个基类,该基类授予它们数据库访问权限,但是在具体类中,有一些方法直接执行selects(意味着不通过基类方法)。
没有将每个数据库调用包装在 if 语句中,当数据库不可用时如何优雅地降级功能?
编辑
此应用程序正常失败将显示“服务不可用”消息并阻止类尝试访问数据库(这会引发错误)。
【问题讨论】:
-
优雅地失败到底是什么意思?你想显示缓存数据之类的东西,通知服务暂时不可用,只是不显示这条信息?
-
@Mahok - 在这种情况下通知服务已关闭是合适的。更新问题
标签: php oop design-patterns pdo