2013-06-05 49 views
0

我有一個基於CodeIgniter構建的現有應用程序,它利用默認的CI ActiveRecord方法處理模型中的數據庫記錄。我想通過實現一個簡單的ORM來處理CRUD過程和關係,從而使這個更多的對象受到驅動。現有應用程序上的CodeIgniter ORM

是否有可能在我現有的應用程序結構上執行此操作,即例如實現模型調用CRUD進程的'Objects'目錄?最好是創建一些東西或使用Doctrine,DataMapper,Gas,這些都是我看過的解決方案,但文檔建議他們替換CI模型。

我想避免重新設計模型中的現有結構和邏輯,但希望實施更多的對象驅動方法。

謝謝!

+0

我曾參與多個使用DataMapper和標準CI模型組合的項目。我沒有遇到任何問題都使用兩者。 Datamapper非常易於安裝並在已建立的項目中運行。 – keithhatfield

+0

嗨,非常感謝 - 請原諒我的無知,但是如何將數據安裝程序與CI模型並行安裝?是否可以簡單地爲數據映射程序類創建「對象」文件夾,以及如何從CI模型中調用它們? (名稱上的任何衝突?) – Jon

+1

按照說明安裝它。然後,任何你想使用CI的模型都會'擴展CI_Model',並用'$ this-> load-> model()'加載到控制器中。你想使用DataMapper的模型將'擴展DataMapper'並使用'new Class()'' – keithhatfield

回答

0

我一直在這種情況下,我的解決方案是創建一個獨立的CI與CI不可知的代碼庫(集成Composer的自動加載和數據庫連接的Doctrine)。所有這些類都可以在標準CI流程中調用和實例化,但也很容易移植到新的(非CI)項目中。

+0

加載到控制器中感謝Freddie,是否有可能在另一個文件夾中使用DocTrine並從CI模型中調用,以便我逐漸替換Activerecord實現? – Jon