2010-06-16 75 views
1

我需要從默認文件夾以外的文件夾加載控制器和模型。我正在使用Linux系統。如何更改CodeIgniter中的控制器/模型源目錄

我正在爲一些人構建一個簡單的CI應用程序,用於我自己的共享主機上。但我想給他們只訪問/ views文件夾和一些/配置文件。這就是爲什麼我需要將控制器和模型存儲在與/ public_html文件夾相同級別的不同文件夾中,或者可能存在於Linux系統中的某個位置。

我認爲這將是對編碼文件

回答

0

笨允許你到你的控制器,視圖和配置文件組織到子文件夾一個更好的解決方案。據我所知,它不允許用於模型(至少文檔沒有提及它,我沒有嘗試過自己)。

由於您在Linux系統中,您可以創建一個符號鏈接以引用文件系統中的另一個目錄。

所以,你可以創建目錄:

application/config/public 
application/controllers/public 
application/views/public 

然後在你/的public_html符號鏈接創建龐廷到以下目錄:

/public_html/config -> application/config/public 
/public_html/controllers -> application/controllers/public 
/public_html/views ->application/views/public 

當你的客戶把文件上傳到/的public_html/config中,它們也將在application/config/public中提供。這同樣適用於/ public_html/controllers和/ public_html/views。

命令大成,以創建符號鏈接是

# ln -s target name 

即:

# ln -s application/config/public /public_html/config 

如果你沒有到你的主機,你可以創建一個使用PHP函數symlink()鏈接控制檯訪問。

要從子文件夾中加載視圖/配置/控制器,只需要在$ this-> load - > ...()函數調用中加上目錄名稱。即:

$this->load->view('public/my_view); 

檢查CI文檔以獲取有關將文件組織到子文件夾的更多信息。

+0

非常感謝。我在想象符號鏈接,我知道關於ln,但可能有點冒險。無論如何,看看這裏:http://codeigniter.com/forums/viewthread/158193/ 是的,我的方法適用於庫和模型。只是檢查。明天我會檢查你的。謝謝。 – 2010-06-16 22:45:33

相關問題