我的自定义库未通过自动加载或通过手动代码加载。我查看了this one和Documentation。
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Faq {
public function __construct(){
$this->load->model('Faq_model');
}
public function recentFaqs(){
return $this->Faq_model->getFaqs();
}
}
加载了库$ this-> load->库(' faq');
将其功能称为$ this-> faq-> recentFaqs();
我收到以下错误 遇到PHP错误
严重性:注意
消息:未定义属性:Faq :: $ faq
文件名:controllers / Faq.php
行号:17
答案 0 :(得分:2)
问题可能是因为您的构造函数正在尝试使用$this
加载模型。但是$this
需要是对CodeIgniter的引用。因此,您需要在加载模型之前获取CodeIgniter引用。
class Faq {
public $CI;
public function __construct(){
$this->CI = & get_instance();
$this->CI->load->model('Faq_model');
}
public function recentFaqs(){
return $this->Faq_model->getFaqs();
}
}
对CI $this->CI
的引用应该在此类的任何函数中使用,该函数将调用codeigniter类。通过将其保存为类的属性,可以轻松重用。