2012-12-19 2 views
1

저는 CodeIgniter에서 모델 작업을하고 있습니다. 그러나 CodeIgniter의 모델은 Java (Spring, Struts)의 모델과 완전히 다릅니다. 제 생각에 모델은 기본적으로 CodeIgniter의 DAO이며 Java의 JavaBeans와 같은 모델을 가지고 있지 않습니다. 기본적으로 모든 단일 속성에 대한 getter 및 setter가 포함되어 있으며 직렬화가 가능합니다.DAO 및 DTO in codeigniter

CodeIgniter에서 DAO와 DTO를 분리하는 방법은 무엇입니까?

+0

에 대한

다음의 준비가 응용 프로그램 폴더에 DAO라는 새 폴더를 만들? Yii 프레임 워크는 예를 들어 깔끔한 Active Record를 가지고 있습니다. 나는 CI의 모델로이 고통을 기억합니다. –

답변

3

정확합니다. CodeIgniter의 모델은 Java의 DAO에 해당합니다. CodeIgniter에서 documentation :

모델은 데이터 구조를 나타냅니다. 내가 DAO와 DTO 사이에 명확한 구분이없는 것으로 나타났습니다

일반적으로 모델 클래스는 데이터베이스에 당신이 검색 할 수 있도록 기능, 삽입 및 업데이트 정보가 포함됩니다. 함수는 대개 DTO 대신 배열을 반환합니다. 일반적으로 Active Record에서 제공하는 도구를 사용하여 데이터 저장소를 쿼리합니다. 반환 된 데이터의 가장 일반적인 소비자는 뷰입니다. 배열을 뷰에 전달하는 것만으로 데이터를 출력하는 것이 매우 쉽습니다. https://github.com/ci-bonfire/Bonfire/blob/develop/bonfire/modules/users/models/user_model.php

+0

니스, 이건 분명 도움이됩니다. 감사 – Jason

0

난 당신이 아래에이 코드를 자신의 코드를 사용할 수있다 생각 : 여기

은 CI 응용 프로그램에서 CI 모델의 예입니다

MY_loader

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

액세스를 얻을 수 Dao 클래스의 DOT 클래스에 넣어 야합니다.

get_instance() -> load-> dao ('dao_sampl 이자형');

있는지 확인하십시오 당신이 제한된 CodeIgniter의에게만을 사용하십니까 인스턴스