PHP依赖注入 - 2个类相互包含

时间:2015-10-25 15:37:12

标签: php oop dependency-injection

我有2个类 - UserService和ProfileService。我需要每个班级包含另一个班级。我试图通过依赖注入来做到这一点:

$clean = preg_replace('[^a-zA-Z\/\d\s:]', '', $url);

在每个类中,我定义了一个构造函数来处理这些参数。无论如何,我得到一个" ERR_EMPTY_RESPONSE" Chrome中的错误。什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

在大多数情况下,循环依赖是一种糟糕设计的标志。这意味着这两个类紧密地耦合在一起,这通常意味着关注的混合。

enter image description here

不要试图强迫它发挥作用,而是试图找出为什么存在这种依赖性---为什么一个类需要另一个(反之亦然)?那部分真的与问题的某个方面有关吗?

一旦理解了依赖关系,解决方案通常是将侵权部分提取到第三(或第四)类,让两个类都引用它,而不是互相引用。

enter image description here

当然,了解更多有关您的特定问题的信息,也可以让您给出更好的答案。