CI实例功能

时间:2014-02-17 21:33:01

标签: php codeigniter

我在这里寻找一篇文章,可以帮助我了解全球化变量和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;
    }
}

1 个答案:

答案 0 :(得分:1)

您正在定义类中的函数,因此您需要将其作为实例方法引用

$this->CI()->module = $this->module = $this->router->fetch_module();