Codeigniter: Check if libraries/helper/core files is loaded

Posted by – September 13, 2013

使用 CodeIgniter 框架開發時,會透過 $this->load->library() 之類的方法來載入特定的檔案。在 CI 的 routing 規則中,同一個檔案只會被載入一次,因此多寫幾次 $this->load->library() 是不會發生什麼慘劇的。

不過有時候還是想確認到底某 class 有沒有載入過,而不想到處丟 $this->load->xxx() 的話,可以用以下方法來確認。

if (class_exists('Library'))
{
    $this->library->myMethod();
}

要注意的是 CI 有別名的規則,比如說有個 model 叫 'file_model'。使用別名載入時,會寫成以下

$this->load->model('file_model', 'file');
$this->file->do_something();

這種情況下,若要檢查是否已載入,要用原名。如下:

if (class_exists('File_model'))
{
    // do something
}

Leave a Reply

Your email address will not be published. Required fields are marked *