我遇到了我认为是我的 PHP 应用程序的循环依赖问题。如果这不正确,请告诉我。情况如下:
两个类,LogManager 和 DBSession。
DBSession 用于与数据库交互,LogManager 用于记录到文件。两者都在我的应用程序中广泛使用。创建 DBSession 实例时,必须通过构造函数参数为其提供 LogManager 实例。这是因为 DBSession 有时会将信息记录到文件中,并且会使用 LogManager 实例来执行此操作。
现在,我想扩展 LogManager 以便它也可以记录到数据库表,而不是文本文件。当然,我更喜欢重用现有的类,但我很快意识到这带来了一个有趣的情况。
DBSession 已经需要一个 LogManager 实例来构建。如果我想在 LogManager 中重用 DBSession 类,它现在需要一个 DBSession 实例。我怎样才能满足这两个要求?显然,我的方法一定有问题。
你会建议我如何解决这个问题?
提前谢谢各位。