为什么 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);
}
我一直看到这个错误 -
这是有问题的函数 -
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);
}