我通过完全替换它来修改模型类。我还希望打破不同类中的大多数组件,并在需要时加载它们。必须在构造函数中加载此特定类。我的课程的简单模型如下:
Model.php
class CI_Model {
function __construct(){
load_class('Model_validations', 'core');
}
}
Model_validations.php
class CI_Model_validations extends CI_Model {
private $validations = array();
public function validates($field){
}
}
我从以下计划得到的是:
致命错误:第233行的/xampp/htdocs/cms/system/core/Controller.php中允许的内存大小为134217728个字节(尝试分配261904个字节)
此外,我尝试删除extends CI_Model
,它运行正常。
我们也可以说加载后会立即调用CI_Model_validations::validate()
方法,但它是空的,我看不出它会如何导致问题。
有什么想法吗? 提前谢谢。
答案 0 :(得分:1)
这是因为CI_Model尝试加载CI_Model_validations,它会在继承CI_Model时再次尝试加载CI_Model。并且CI_Model尝试再次加载CI_Model_validations,依此类推......
更新:this answer我的上述假设似乎错了。它说load_class是一个单例加载器。