我正在编写其他目前尚未发布的其他软件包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。而且循环依赖性在设计中通常被视为“难闻的气味”。
因此,您不应该问“它会起作用吗?”,而是“是否有更好的方法来解决这个问题?”