2012-12-19 152 views
1

我正在使用CodeIgniter中的模型。但是,CodeIgniter中的模型與Java中的模型(Spring,Struts)完全不同。在我的理解中,模型基本上是CodeIgniter中的DAO,並且沒有像Java JavaBeans這樣的模型(它基本上包含每個屬性的getter和setter,就是這樣,而且它實現了可序列化)。DAO和DTO in codeigniter

在CodeIgniter中分離DAO和DTO的方法是什麼?

+0

你僅限於使用CodeIgniter的新文件夾?例如,Yii框架有一個整潔的活動記錄。我記得在CI中的模型帶來了這種痛苦。 –

回答

3

你是對的。 CodeIgniter中的模型對應於Java中的DAO。來自CodeIgniter documentation

該模型表示您的數據結構。通常,你的模型 類包含的功能,可以幫助您檢索,插入和更新 信息數據庫

我注意到,有DAO和DTO之間沒有明顯的區別。這些函數通常返回數組而不是DTO。您通常會使用Active Record提供的工具查詢數據存儲。返回數據中最常見的消費者是一個視圖。通過簡單地將數組傳遞給視圖,它可以非常容易地輸出數據。

這裏是一個CI應用CI模型的例子:https://github.com/ci-bonfire/Bonfire/blob/develop/bonfire/modules/users/models/user_model.php

+0

不錯,這絕對有幫助。謝謝 – Jason

0

我覺得你可以使自己的代碼中使用下面這段代碼:

MY_loader

public function dao($daoName) { 
    require_once APPPATH . '/dao/' . $daoName . '.php'; 
    } 

以訪問你的dao類應該放在DTR上

get_instance() - > load-> dao('dao_sampl E');

確保您創建一個名爲在應用程序文件夾

那麼它準備實例