我在这里寻找一篇文章,可以帮助我了解全球化变量和CI实例所需的内容。我找到了这篇伟大的帖子。
get_instance() in Codeigniter: Why assign it to a variable?
这个问题是,当我在自己的应用程序中尝试它时,我收到以下错误。
Fatal error: Call to undefined function CI() in .../application/core/MY_Controller.php on line 6
我不确定为什么会这样。有人可以详细说明吗?
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class MY_Controller extends CI_Controller {
public $module;
public function __construct() {
parent::__construct();
CI()->module = $this->module = $this->router->fetch_module();
}
function CI()
{
static $CI;
isset($CI) || $CI = CI_Controller::get_instance();
return $CI;
}
}
答案 0 :(得分:1)
您正在定义类中的函数,因此您需要将其作为实例方法引用
$this->CI()->module = $this->module = $this->router->fetch_module();