在laravel中类的相互依赖问题?
1. 问题描述?在laravel重复依赖创建、解决相互依赖(A->B->A->B->…)
<?php
class A {
protected B $b;
protected C $c;
protected D $d;
public function __construct(B $b, C $c,D $d)
{
$this->b = $b;
$this->c = $c;
$this->d = $d;
}
}
<?php
class B {
protected A $a;
public function __construct(A $a)
{
$this->a = $a;
}
}
<?php
class C {
protected A $a;
public function __construct(A $a)
{
$this->a = $a;
}
}
<?php
class D {
protected A $a;
public function __construct(A $a)
{
$this->a = $a;
}
}
2. 您实际得到的结果?
Maximum function nesting level of ‘256’ reached
改设计吧,看起来系统设计就没对。 要吗,使用的时候把依赖都放到laravel容器里用
这是互相依赖!递归了。这是逻辑错误,没有办法。直接 new 吧
一个类,分离成多个类,出现相互依赖的情况下,需要重新设计拆分准则了...