我正在开发一个相当大的 Laravel 项目,并且正在使用存储库。
我有一个用户存储库,它像这样注入它的依赖项:
public function __construct(CartRepository $cartRepo...)
这会导致以下错误:
Maximum function nesting level of '100' reached, aborting!
我认为这是因为 CartRepo 注入了一个 ItemRepo,而 ItemRepo 又注入了 UserRepo,从而导致了无限嵌套循环。
我不明白如何解决这个问题,ItemRepo 需要 UserRepo,因为项目与用户相关联?
有没有人遇到过这个?如果是这样,你是如何绕过它的?
我知道我可以增加xdebug.max_nesting_level
,但即使值为 750,它仍然会引发错误,我也宁愿修复潜在的问题,而不是埋葬它。