我正在编写其他目前尚未发布的其他软件包B所需的软件包A。在某些时候,A会更改为使用自身B。那么,它们应该都放在同一个程序包中,但我宁愿将两者分开,只是出于清洁的考虑,更重要的是,因为B仅开发人员对A的依赖。

package A requires-dev B
package B requires A

我很好奇这是否可能。我也很好奇是否相同:
package A requires B
package B requires A

...和...
package A requires B
package B requires C
package C requires A

...或更复杂的情况。我会遇到什么问题?

谢谢。

最佳答案

这里有一个更广泛的,不是特定于PHP的答案:循环依赖是,而不是是个好主意。

您会看到,您将事物“分离”到了不同的包/模块/名称中,以便为它们提供有用的结构。创建一个“模型”来帮助您处理代码的复杂性。

换句话说:您想定义一个architecture。而且循环依赖性在设计中通常被视为“难闻的气味”。

因此,您不应该问“它会起作用吗?”,而是“是否有更好的方法来解决这个问题?”

10-07 12:43