아래에 지정된 몇 가지 기준을 충족시키는 PHP (이 아닌 ORM!) 용 쿼리 작성 엔진을 찾고 있습니다. 불행히도, Doctrine, Propel, Adodb, Zend_Db 등을 살펴본 후에 프로파일에 실제로 맞는 것을 찾지 못했습니다. 너무 추상적입니다 (ORM 수준의 추상화가 필요하지 않습니다). 또는 충분한 기능을 지원하지 않습니다. . 필요한 것은 프로그래밍 방식으로 SQL 쿼리를 빌드 할 수있는 라이브러리입니다. 실행하는데도 필요하지 않지만 그래도 괜찮습니다.PHP SQL 쿼리 빌딩 엔진
정말 바퀴를 다시 발명하는 것을 피하고 싶습니다. 프로필에 맞는 것을 알고 있다면 앞으로 가져 오십시오. 위의 이름을 가진 사람들 중 한 사람이 적합하다고 생각한다면 나에게도 알려주십시오.
이 (라이브러리가없는 경우, 나를 위해하지 유용)이 있어야합니다
- 지원 PHP 5.2
- 지원 (네임 스페이스 라이브러리는 불행하게도, 지금은 사용할 수 없습니다) 등 선택 식, 주문에 의해, 제한, 그룹별로 갖는, 노동 조합, 외부 조인을 포함한 프로그램 쿼리 생성,
- 지원 MySQL은 오라클 OCI8, MSSQL, DB2, Postrges
- 지원 건물라는 이름의 매개 변수화 쿼리필요한 경우 적절한 물론과 (등, 적절한 비교 함수를 사용하여 제대로 수신/발신 데이터를 포맷, 예를 들면 -준비 문
- 지원 추가 조건은/어느 시점에 동적으로 등 날짜, 같은 데이터 유형에 대한
- 지원을 조인 인용). 우리는 코드의 모든 필드 유형을 알고 있으므로 라이브러리는 각 필드가 무엇인지 말해 줄 수 있어야합니다.
- 독립형 (기타 지원 클래스의 톤없이 사용하기 쉬운)
- 쉽게 확장 할 라이센스가 BSD-같은 용어
- 청소 PHP 5 코드 (NO PHP 4 객체 별 심판 cruft에에 확장 허용, 등)
NICE는은 (우리가들 "이 있어야합니다"위에 그것을 구현할 수 가지고 있지만, 이미 수행 된 경우
- 지원 매개 변수화 queri를 인스턴스화) 더 행복 할 것 es (전체 & 부분) - 즉, 매개 변수의 일부분을 제공하고 대체 된 매개 변수로 새 쿼리를 생성하는 쿼리 지원을 작성한 후
- 두 개의 쿼리를 병합하는 지원 그들을 parametrizing를 포함하는 하나 개의 쿼리에서 다른에 조건 테이블)
- 지원 쿼리 코멘트()
보너스 (이 정말 우리를 행복하게 만들 것,하지만 지금은 그것없이 살 수)
추가-
는
- 지원 직렬화는
- 지원 캐싱
그래서, 않습니다 그 라이브러리를 아는 사람이 있습니까?
실격 [Zend_Db] (http://framework.zend.com/manual/en/zend.db.select.html)을 물어볼 수 있습니까? 그것은 당신이 묘사하고있는 것과 맞는 저수준의 메소드를 가지고 있습니다 :'$ select-> from (..) -> where (..) -> groupBy (..)'. 그것은 (대부분은 아니지만) 지정된 데이터베이스를 지원하는 PDO를 사용하며, 내가 이해하는 바에 따라 합리적으로 독립적입니다. –
@Mike : AFAIK 데이터 형식을 지원하지 않으며 명명 된 매개 변수가 아닌 위치 매개 변수 만 지원합니다. 적어도 그것이 내가 문서들과 코드에서 얻는 것입니다. 어쨌든 그것을 사용하고 그것을 지원하기 위해 확장을 고려 중이지만 이미 가지고있는 것이 있다면 그것을하고 싶지 않습니다. – StasM
그 중 일부는 라이브러리가 있습니다. 예 :'Person :: name ('billy') -> join (Town :: table(), Town :: id(), SQL :: OP_EQUAL, Persion :: town_id()) -> group_by (Town :: id – Petah