Я продолжаю видеть эту ошибку —
Это оскорбительная функция —
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 UserFeatures_Model extends MY_Model {
/*Irrelevant stuff since it's not 'seeing' this class anyway...*/
}
А вот структура каталогов —
Это там, если я не галлюцинирую (отличная возможность, я очень устал …)
Почему CI / PHP не находит этот класс?
Вы должны использовать $this->load->model('UserFeatures_Model');
внутри вашего getInfo()
контроллер, прежде чем вызвать эту функцию модели.
private function getInfo($id){
$this->load->model('UserFeatures_Model');
$this->Features = $this->UserFeatures_Model->some_function_inside_model($id);
}
Других решений пока нет …