私はCodeIgniterのモデルで作業しています。ただし、CodeIgniterのモデルは、Java(Spring、Struts)のモデルとはかなり異なります。私の理解では、モデルは基本的にCodeIgniterのDAOであり、JavaのJavaBeansのようなモデルはありません(基本的に、すべての属性のゲッターとセッターが含まれ、さらに、シリアル化可能を実装します)。
CodeIgniterでDAOとDTOを分離する方法は何でしょうか?
私はCodeIgniterのモデルで作業しています。ただし、CodeIgniterのモデルは、Java(Spring、Struts)のモデルとはかなり異なります。私の理解では、モデルは基本的にCodeIgniterのDAOであり、JavaのJavaBeansのようなモデルはありません(基本的に、すべての属性のゲッターとセッターが含まれ、さらに、シリアル化可能を実装します)。
CodeIgniterでDAOとDTOを分離する方法は何でしょうか?
あなたは正しいです。CodeIgniterのモデルは、JavaのDAOに対応しています。CodeIgniterのドキュメントから:
モデルはデータ構造を表します。通常、モデルクラスには、データベース内の情報の取得、挿入、および更新に役立つ関数が含まれます。
DAOとDTOの間に明確な区別がないことに気づきました。関数は通常、DTOではなく配列を返します。通常、 ActiveRecordが提供するツールを使用してデータストアにクエリを実行します。返されるデータの最も一般的なコンシューマーはビューです。配列をビューに渡すだけで、データを非常に簡単に出力できます。
CIアプリケーションのCIモデルの例を次に示します。https ://github.com/ci-bonfire/Bonfire/blob/develop/bonfire/modules/users/models/user_model.php
以下のコードを使用して、独自のコードを作成できると思います。
MY_loader
public function dao($daoName) {
require_once APPPATH . '/dao/' . $daoName . '.php';
}
daoクラスにアクセスするには、DTRを使用する必要があります
get_instance()-> load-> dao('dao_sample');
アプリケーションフォルダにdaoという新しいフォルダを作成してください
その後、インスタンス化の準備ができました