2010-03-22 2 views

답변

4

응용 프로그램 디자인 방식에 따라 다릅니다.

ActiveRecord를 제외하고 ZF는 Data Source Architectural patterns in PoEAA 4 개 중 3 개에 대한 구현을 제공합니다. 모델 개체가 데이터베이스 구조와 매우 밀접하게 매핑되면 ZF 구성 요소만으로도 충분할 수 있습니다.

개체가 여러 테이블에 매핑되거나 여러 테이블에서 집계 된 경우 ZF DB 클래스의 맨 위에있는 사용자 지정 DataMapper 또는 Doctine 또는 Propel과 같은 완전한 ORM이 더 적합 할 수 있습니다. 당신 만이 이것을 결정할 수 있습니다.

+0

지식과 의견을 공유해 주신 여러분 감사합니다. -DevD – user274383

1

내가 추천 :

  1. 교리 2.0 - 크로스 플랫폼, 사용의 용이성, 좋은 성능, 좋은 문서, 네임 스페이스에 대한 지원, 강력한를, 어쩌면 ZF 2.0
  2. 교리 1.2의 일부가 될 것입니다 - 크로스 쉬운 플랫폼, 사용의 용이성, 구현, 유용한 확장 기능 (예 : NestedSet, Taggable, Commentable), 좋은 문서, 수도 ZF 자동 로더, CLI 도구, YAML 데이터 비품
+0

Doctrine 2.0은 아직 알파 단계에 있습니다. – Gordon

2

전체 본격적인 ORM와 함께 작동 또한 몇 가지 추가 기능을 제공합니다. 당신을위한 ul. Doctrine에서 DQL을 사용하는 사람도 있고, 객체를 검색하기 위해 직접 쿼리를 작성하는 것을 피하고, Propel 1.5의 ModelCriteria Query API와 같은 유창한 인터페이스를 선호 할 수도 있습니다.

기본적으로 모든 요구 사항은 모든 요구 사항에 따라 다르며 모든 프로젝트에 적합한 최상의 "최상의 솔루션"은 없습니다.

+0

동의합니다. 개인적으로 Propel이 제공하는 구체적인 getter 및 setter 메서드가 필요합니다. Doctrine의 '가상'getter/setter 메소드는 단순히 내가 선호하는 스타일에 맞지 않습니다. 자바 녀석들과 함께 일하는 동안 잠시 동안 얻은 것 같아요.) –