2013-06-05 2 views
0

모델의 데이터베이스 레코드를 처리하기 위해 기본 CI ActiveRecord 접근 방식을 활용하는 CodeIgniter를 기반으로하는 기존 응용 프로그램이 있습니다. CRUD 프로세스와 관계를 처리하기위한 간단한 ORM을 구현하여 더 많은 객체를 만들도록하고 싶습니다.기존 응용 프로그램의 CodeIgniter ORM

기존 애플리케이션 구조 (예 : 모델에서 CRUD 프로세스를 호출하는 'Objects'디렉토리 구현)와 마찬가지로이 작업을 수행 할 수 있습니까? Doctrine, DataMapper, Gas를 사용하는 것이 가장 좋습니다. 모든 솔루션을 살펴 보았지만 문서에서는 CI 모델을 대체 할 것을 권장합니다.

모델 내에서 기존 구조와 로직을 다시 엔지니어링하는 것을 피하고 싶지만 객체 지향 접근 방식을 더 구현하고 싶습니다.

감사합니다.

+0

저는 DataMapper와 표준 CI 모델의 조합을 사용하는 많은 프로젝트를 진행했습니다. 나는 둘 다 사용하여 어떤 문제로 실행하지 않았습니다. Datamapper는 설치가 쉽고 기존 프로젝트에서 쉽게 실행할 수 있습니다. – keithhatfield

+0

안녕하세요, 많은 감사합니다 - 내 용서를 용서해주세요하지만 당신은 datampper 클래스에 대한 '개체'폴더를 만드는 것이 가능합니다 어떻게 CI 모델 '에 병렬로 datampper를 설치하고 그들이 CI 모델에서 호출 될 것이라고 ? (이름 충돌이 있습니까?) – Jon

+1

지침에 따라 설치하십시오. 그런 다음 CI를 사용하고자하는 모든 모델은'CI_Model을 확장하고'$ this-> load-> model()'컨트롤러로로드됩니다. 그리고 DataMapper를 사용하고자하는 모델은'DataMapper를 확장하고'new Class()를 사용하여 컨트롤러에로드됩니다. – keithhatfield

답변

0

나는 그 상황에 처해 있었고, 내 솔루션은 CI에 의존하지 않는 코드 (자동 로딩을위한 Composer와 데이터베이스 연결을위한 Doctrine 통합)를 갖춘 독립형 라이브러리를 생성하고 있었다. 이러한 모든 클래스는 표준 CI 흐름 내에서 호출 및 인스턴스화 될 수 있지만 새로운 (비 CI) 프로젝트로 쉽게 이동 될 수 있습니다.

+0

감사합니다. Freddie, 다른 폴더에서 DocTrine을 사용하고 CI 모델에서 호출하여 점진적으로 Activerecord 구현? – Jon

관련 문제