2016-08-30 24 views
2

我有我的Controller調用的以下代碼點火器Web服務模型。這個模型有大約30個功能。如何將PHP CI模型函數分成多個'include'文件

我想將模型中的函數拆分爲單獨的文件,這樣多人就可以更容易地處理它們,儘管不可能像這樣在一個函數之外「包含」一個文件:

class Webservice_model extends CI_Model{ 

    include 'function/login.php'; 
    include 'function/register.php'; 
    include 'function/checkin.php'; 

    // etc etc x 10 
} 

這樣做的正確方法是什麼?而不必這樣做:

class Webservice_model extends CI_Model{ 

    function login(){ 
     // login functionality 
    } 
    function register(){ 
     // register functionality 
    } 
    function checkin(){ 
     // checkin functionality 
    } 

    // etc etc x 10 
} 

回答

1

的解決方案是建立不同的模型,即不同的文件爲每個模型

例如模型1:Login_model.php 2. Register_model.php 3. Checkin_model.php

然後叫他們像模型

class Webservice_model extends CI_model{ 
function __construct() 
{ 
    parent::__construct(); 
    $CI =& get_instance(); 
    $CI->load->model('login_model'); 
    $CI->load->model('register_model'); 
    $CI->load->model('checkin_model'); 

} 

}

通過這種方式,不同的人可以在不同的功能上工作

+0

Hi @Kailas,好像當我嘗試加載控制器索引網頁時,這些模型中的所有功能都被調用。該頁面無法加載以顯示控制器,而是在我的模型中顯示錯誤。 你知道嗎,如果CodeIgniter正在調用這些模型函數或只是檢查它們的錯誤?它似乎實際上是在我加載模型時調用它們(就像在上面的代碼中那樣)。 – Nickmccomb

+0

嗨,我檢查了所有功能,它工作得很好。唯一的注意事項是:1.保存模型文件名大寫的第一個字母,2.在構造函數中加載模型,如我的更新代碼所示。 – kailas

+0

嗨凱拉斯,是的,我工作過,命名約定很糟糕,但除此之外它都很好:)謝謝 – Nickmccomb

相關問題