我有一个CodeIgniter spark定义&自动加载类libraries/Nci_nicecontroller.php
:
class Nci_nicecontroller extends CI_Controller {
//...
}
//autoloaded using $autoload['libraries'][]='nci_nicecontroller';
现在我想在我的应用程序控制器中使用Nci_nicecontroller
,例如:
class Welcome extends Nci_nicecontroller {
//...
}
//autoloaded using $autoload['sparks'][]='nci-extensions/0.0.4';
显然,我不能只在控制器的构造函数中$this->load->spark
,因为它在类扩展时是必需的。
当不使用spark时,我只是将Nci_nicecontroller放在core/MY_Controller.php
中,但是有了火花,这将无效。
我尝试在我的应用程序中自动加载火花,但这不起作用。
然后我尝试了:
get_instance()->load->spark('nci-extensions/0.0.4');
controllers/welcome.php
标题中的,它会出现以下错误:
Severity: Notice
Message: Trying to get property of non-object
Filename: controllers/welcome.php
Line Number: 2
--and--
Fatal error: Call to a member function spark() on a non-object in
C:\xampp\htdocs\CodeIgniter_demo\application\controllers\welcome.php on line 2
我该怎么办?
答案 0 :(得分:0)
尝试做类似的事情:
class Wellcome extends CI_Controller {
protected static $_nci = null;
public function __construct(){
parent::__construct();
$this->_nci = $this->load->spark('nci-extensions/0.0.4');
}
public function index(){
$result = $this->_nci->getSomething();
echo $result;
}
}