PHP

PHP SDK 2.0.0 개발자 프리뷰

지난 몇 달 동안 SDK 개발팀은 SDK 2.0이라고 불리는 새로운 인터페이스를 정의하기 위해 노력해 왔습니다(해당 사양의 상당 부분을 구현할 뿐 PHP SDK 2.0.0과는 직접적인 관련이 없음). 기존 SDK는 모두 멤캐시드 프로젝트를 대상으로 하는 기존 인터페이스를 중심으로 설계되었기 때문에 매우 캐시 지향적이었고 더 이상 Couchbase Server 2.0의 문서 지향적인 특성을 효과적으로 반영하지 못했습니다. 따라서 저희는 이러한 특성을 더 잘 모델링할 수 있는 새롭고 현대적인 인터페이스를 정의하기 시작했습니다.

전반적인 SDK 인터페이스 개편 노력과 함께 PHP SDK에 대한 관심과 애정이 필요했기 때문에 PHP SDK 자체에 대한 개편 작업도 진행했습니다. 이 작업은 결국 처음부터 다시 작성하는 것으로 끝났고, 이제 개발자들에게 이를 전달하여 피드백을 받을 수 있게 되어 기쁘게 생각합니다.

새로운 기능

API

이전 PHP SDK의 오래된 뿌리로 인해 안타깝게도 다양한 함수의 동작에 이상한 매개변수 순서, 유사한 함수 간의 일관되지 않은 옵션, 동작 중복 등 복잡한 문제가 많았습니다. 이제 일관된 인터페이스를 구현했으며, 다음은 새로운 API의 몇 가지 간단한 예시입니다.

버킷 열기:

$cb = 새 카우치베이스클러스터();
$db = $cb->openBucket('default');

문서를 삽입합니다:

$db->insert('test_key', '일부 값');

문서 검색(작업의 결과가 문서 값이 값 속성에 저장된 결과 객체가 아닌 결과 객체):

$result = $db->get('test_key');

이제 모든 API 호출에서 오류 처리도 일관되고 안정적으로 이루어집니다.

    시도 {
        $result = $db->get('test_key');
    } catch (예외 $e) {
        // 메시지, 코드 속성이 있는 예외 객체.
    }

트랜스코더 지원

또한 전체 트랜스코더 지원을 추가하여 사용자 환경에서 사용하는 모든 비표준 유형에 대한 사용자 지정 직렬화 및 역직렬화 전략을 제공할 수 있습니다.

이에 대한 몇 가지 예를 보려면 트랜스코더 예제(https://github.com/couchbaselabs/php-couchbase/blob/master/examples/transcoders/index.php) 또는 라이브러리의 기본 트랜스코더를 찾을 수 있는 Couchbase.class.php 래퍼 클래스(소스 루트에서)를 살펴보세요.

문서

전체 API를 설명하는 문서는 여기에서 확인할 수 있습니다:

https://sdk-snapshots.couchbase.com/php/php_couchbase-2.0.0dp1-docs/

받기

Linux 시스템을 사용하는 경우 개발자 프리뷰 버전의 라이브러리를 설치하려면 아래 링크된 소스 코드를 가져와서 빌드하고 설치하면 됩니다:

phpize
./configure -enable-couchbase
make && 설치하기

Windows 시스템을 사용하는 경우 타르볼을 다운로드하여 직접 소스를 빌드할 수 있습니다. 또는 아래 인기 있는 빌드 유형에 대한 링크도 있습니다.

빌드 다운로드
소스 코드 php_couchbase-2.0.0dp1.zip
Windows PHP 5.3 NTS vc9 x86 php_couchbase-2.0.0dp1-5.3-nts-vc9-x86.zip
Windows PHP 5.3 ZTS vc9 x86 php_couchbase-2.0.0dp1-5.3-zts-vc9-x86.zip
Windows PHP 5.4 NTS vc9 x86 php_couchbase-2.0.0dp1-5.4-nts-vc9-x86.zip
Windows PHP 5.4 ZTS vc9 x86 php_couchbase-2.0.0dp1-5.4-zts-vc9-x86.zip
Windows PHP 5.5 NTS vc11 x64 php_couchbase-2.0.0dp1-5.5-nts-vc11-x64.zip
Windows PHP 5.5 ZTS vc11 x64 php_couchbase-2.0.0dp1-5.5-zts-vc11-x64.zip
Windows PHP 5.5 NTS vc11 x86 php_couchbase-2.0.0dp1-5.5-nts-vc11-x86.zip
Windows PHP 5.5 ZTS vc11 x86 php_couchbase-2.0.0dp1-5.5-zts-vc11-x86.zip

참고: PHP 확장 프로그램을 설치하기 전에 반드시 libcouchbase가 설치되어 있어야 합니다.

문제가 발생하면 다음 주소의 카우치베이스 커뮤니티 사이트에 직접 게시해 주세요. https://www.couchbase.com/communities/php. 또한 여기에서 제공되는 이슈 트래커를 통해 버그를 직접 신고할 수도 있습니다: https://www.couchbase.com/issues/browse/PCBC

즐기시기 바랍니다!

건배! Brett

이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

Author

Posted by 브렛 로슨

브렛 로슨은 카우치베이스의 수석 소프트웨어 엔지니어입니다. Brett은 Couchbase Node.js 및 PHP 클라이언트의 설계와 개발을 담당하고 있으며, C 라이브러리인 libcouchbase의 설계와 개발에도 참여하고 있습니다.

댓글 하나

  1. 2.0 SDK가 php-fpm에 대해 더 나은 연결 풀링을 지원하나요? 예를 들어 연결 풀링이 이제 C 라이브러리에서 처리되나요?

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.