지난 몇 달 동안 SDK 개발팀은 SDK 2.0이라고 불리는 새로운 인터페이스를 정의하기 위해 노력해 왔습니다(해당 사양의 상당 부분을 구현할 뿐 PHP SDK 2.0.0과는 직접적인 관련이 없음). 기존 SDK는 모두 멤캐시드 프로젝트를 대상으로 하는 기존 인터페이스를 중심으로 설계되었기 때문에 매우 캐시 지향적이었고 더 이상 Couchbase Server 2.0의 문서 지향적인 특성을 효과적으로 반영하지 못했습니다. 따라서 저희는 이러한 특성을 더 잘 모델링할 수 있는 새롭고 현대적인 인터페이스를 정의하기 시작했습니다.
전반적인 SDK 인터페이스 개편 노력과 함께 PHP SDK에 대한 관심과 애정이 필요했기 때문에 PHP SDK 자체에 대한 개편 작업도 진행했습니다. 이 작업은 결국 처음부터 다시 작성하는 것으로 끝났고, 이제 개발자들에게 이를 전달하여 피드백을 받을 수 있게 되어 기쁘게 생각합니다.
새로운 기능
API
이전 PHP SDK의 오래된 뿌리로 인해 안타깝게도 다양한 함수의 동작에 이상한 매개변수 순서, 유사한 함수 간의 일관되지 않은 옵션, 동작 중복 등 복잡한 문제가 많았습니다. 이제 일관된 인터페이스를 구현했으며, 다음은 새로운 API의 몇 가지 간단한 예시입니다.
버킷 열기:
$db = $cb->openBucket('default');
문서를 삽입합니다:
문서 검색(작업의 결과가 문서 값이 값 속성에 저장된 결과 객체가 아닌 결과 객체):
이제 모든 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 시스템을 사용하는 경우 개발자 프리뷰 버전의 라이브러리를 설치하려면 아래 링크된 소스 코드를 가져와서 빌드하고 설치하면 됩니다:
./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
2.0 SDK가 php-fpm에 대해 더 나은 연결 풀링을 지원하나요? 예를 들어 연결 풀링이 이제 C 라이브러리에서 처리되나요?
[...] PHP SDK 2.0 블로그 [...]