2014-02-17 45 views
0

我在這裏尋找一篇文章,可以幫助我瞭解全局化變量和CI實例所需的內容。我發現這個偉大的職位。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

你定義你的類裏面的功能,所以你需要把它稱爲一個實例方法

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