在 CodeIgniter 中,我有一个名为的模型User_Model
和另一个名为Product_Model
现在在User_Model
构造函数中,我正在加载我在类中使用的几个模型。
class User_Model extends CI_Model
{
public function __construct()
{
parent::construct();
$this->load-model("Product_Model");
//load some more models I need...
}
}
在开发产品时,有时我需要使用用户模型,所以我这样做:
class Product_Model extends CI_Model
{
public function __construct()
{
parent::construct();
$this->load-model("User_Model");
//load some more models I need...
}
}
问题是,由于这些是循环引用,我得到Fatal error: Maximum function nesting level of '100' reached
. 我正在使用xdebug
并且我知道它具有删除它的设置。我的问题是 - 在不增加设置限制的情况下处理这个问题的正确方法是什么。我应该如何重构架构?
我知道如果我PHP
不使用codeigniter
,并创建循环引用(A 类加载 B 类,B 类加载 A 类),PHP 将加载它 N 次(我认为是 3 次),然后将其标记为*recursive*.
但是我们面临这样的情况,什么是最好的重构方式呢?