2010-04-01 49 views
0

我對CodeIgniter仍然很陌生,我想知道應該在哪裏放置與控制器和視圖無關的PHP函數,例如訪問本地文件的函數。CodeIgniter:放置PHP函數?

謝謝。

回答

3

不要使用從CI 2.0中刪除的插件,您將不得不將其轉換。

一組不需要數據交互的函數應該放在幫助器中。

+0

而那些呢? – thedp 2010-04-01 13:46:15

+1

如果您需要數據交互,您應該將代碼放入模型中。 – 2010-04-01 14:17:06

+2

幫助者=一些小東西的功能組。 Model =數據交互的方法。 圖書館=大的東西的功能組,需要共享邏輯,屬性等,即一個類。 – 2010-04-01 19:00:56

1

你應該把它們放在控制器中,在控制器中你甚至可以放入你自己的定製功能。

+0

這聽起來很雜亂,在'system'和'javascript'目錄旁邊放置一個名爲'PHP'的目錄不是更好嗎? – thedp 2010-04-01 13:22:58

+1

@thedp:這不是說你不能將自己的功能放在控制器中,即使你閱讀CI文檔,也說明你可以在那裏放置你的功能。但是,如果你覺得它很混亂,那麼你把它放在你認爲合適的地方。 – Sarfraz 2010-04-01 13:47:00

1

有插件和幫助程序目錄,您可以在其中放置包含在整個應用程序中共享的「全局」函數的文件。

也就是說,在執行此操作之前,如果要處理存儲在文件系統中的數據,將文件放在模型中可能更有意義。

+0

我正在尋找將PHP函數與所有應用程序的功能都可以使用的常規和全局功能放在一起。 所以我無法決定的地方:模塊,插件,助手,外部目錄。 – thedp 2010-04-01 13:38:53

+1

聽起來你應該使用助手(如果這些是真正的全局函數)或模型(如果函數正在讀/寫/修改/等文件系統上的特定「類型」數據)。 – 2010-04-01 14:19:06

2

將鬆散的函數放入助手中。將類似的功能組合在一起成爲助手並給它一個有意義的文件名。加載助手後,可以像使用require_once()或include一樣使用函數。

如果您有一個表面上與Codeigniter表面上「毫無關係」的類,通常可以通過最少的努力或無需付出努力就可以將這些類轉換爲庫。正如Phil Sturgeon所說,插件正在被CI 2.0取代,以支持幫助者和圖書館。我認爲這是一件好事。從來沒有太多需要'插件'。