为什么 PHP 在 CodeIgniter 中找不到我的模型 class?

Why is PHP not finding my model class in CodeIgniter?

我一直看到这个错误 -

这是有问题的函数 -

private function getInfo(){
    $this->Features = new UserFeatures_Model($this->ID); //<-- Offending line of Code
    /*Other Stuff - Not Relevant*/
}

这是从它被调用的地方 -

public function __construct($UserID = NULL){
    parent::__construct( TRUE );
    $this->database = $this->load->database('users', TRUE);
    $this->table = 'users';
    $this->idKey = 'User_ID';
    //Assigned UserID should have precedence.
    if (!is_null($UserID)) { $this->ID = $UserID; }
    //If there exists a UserID within this session, automatically load it.
    elseif ($this->session->UserID){ $this->ID = $this->session->UserID; }
    if (isset($this->ID)){ $this->getInfo(); }
}

我的第一个猜测是因为我在构造函数中调用了 getInfo() 方法...但我很确定这不是问题所在。

无论如何,这里是 class 定义,它说的不存在 -

class UserFeatures_Model extends MY_Model {
    /*Irrelevant stuff since it's not 'seeing' this class anyway...*/
}

这是目录结构 -

它就在那里,除非我产生幻觉(很可能,我很累……)

为什么 CI/PHP 找不到这个 class?

在调用该模型函数之前,您必须在 getInfo() 控制器中使用 $this->load->model('UserFeatures_Model');

private function getInfo($id){
   $this->load->model('UserFeatures_Model');
    $this->Features = $this->UserFeatures_Model->some_function_inside_model($id); 
}