pg_builder 및 pg_wrapper 3.0이 Postgres 17 구문 지원과 함께 출시됨

게시일2025-02-28작성자: Alexey Borzov
관련 오픈 소스

다음 출시를 발표하게 되어 기쁘게 생각합니다.pg_builder그리고pg_wrapperPHP용 패키지가 토토 결과 17 구문에 맞게 업데이트되었습니다.

pg_builder 3.0

pg_builder는 PostgreSQL 자체 SQL 파서를 부분적으로 PHP로 재구현한 Postgres용 쿼리 빌더입니다. Postgres 17에서 사용 가능한 거의 모든 구문을 지원합니다.선택(그리고), 삽입, 업데이트, 삭제병합쿼리.

pg_builder를 사용하면 수동으로 작성된 쿼리로 시작하여 추상 구문 트리로 구문 분석하고 쿼리 부분(노드 객체 또는 문자열)을 이 트리에 추가하거나 제거하고 마지막으로 트리를 다시 SQL 문자열로 변환할 수 있습니다.

릴리스 하이라이트:

  • Postgres 17의 새로운 구문 지원
    • 병합문 개선:돌아오는 중절,소스와 일치하지 않는 경우작업, 다음에서 사용할 수 있음함께;
    • 새로운 SQL/JSON 구문:json(), json_scalar(), json_serialize(), json_exists(), json_query(), json_value(), json_table().
  • 패키지 매뉴얼이 다시 작성되어 게시되었습니다.pg-builder.readthedocs.io
  • 이제 PHP 8.2+ 및 토토 결과 12+가 필요하며 PHP 8.4 및 토토 결과 17에서 테스트되었습니다.

전체 출시 노트

패키지는 다음과 같습니다.GitHub에서 다운로드됨또는 Composer와 함께 설치:

$ 작곡가 필요 sad_spirit/pg_builder

pg_wrapper 3.0

pg_wrapper는 PostgreSQL 데이터 유형에 대한 변환기와 이러한 변환기를 사용하는 PHP의 기본 pgsql 확장에 대한 객체 지향 래퍼를 제공합니다. 쿼리 결과 필드의 변환은 데이터베이스 메타데이터를 사용하여 자동으로 수행되며 쿼리 매개변수에는 유형 지정이 필요할 수 있습니다.

해당 기본 PHP 유형 또는 클래스를 사용할 수 있는 유형의 경우 이를 사용합니다(텍스트-문자열, 타임스탬프-DateTimeImmutable, h스토어- 연관 배열 등). 다른 유형(기하학적 유형, 범위)의 경우 패키지는 사용자 정의 클래스를 제공합니다. 기본 유형을 변환할 수 있으면 이를 사용하는 복합 유형, 배열, 범위도 처리할 수 있습니다.

출시 하이라이트:

  • 쿼리 결과를 위한 새로운 반복자 메소드;
  • 다음을 사용하여 실행된 쿼리를 기록할 수 있습니다.PSR-3 로거;
  • 토토 결과 간 변환기ENUM유형 및 PHP의 문자열 지원 열거형;
  • 패키지 설명서를 다시 작성하여 게시함pg-wrapper.readthedocs.io;
  • 이제 PHP 8.2+ 및 토토 결과 12+가 필요하며 PHP 8.4 및 토토 결과 17에서 테스트되었습니다.

전체 출시 노트

패키지는 다음과 같습니다.GitHub에서 다운로드됨또는 작곡가와 함께 설치됨

$ 작곡가 필요 sad_spirit/pg_wrapper