PHP

Visualização do desenvolvedor do PHP SDK 2.0.0

Nos últimos meses, a equipe de desenvolvimento do SDK tem trabalhado na definição de uma nova interface para interagir com os SDKs, chamada de SDK 2.0 (não diretamente relacionada ao PHP SDK 2.0.0, que simplesmente implementa uma grande parte dessa especificação). Todos os SDKs existentes foram projetados com base em interfaces existentes voltadas para o projeto memcached e, como tal, eram muito orientados para o cache e não refletiam mais efetivamente a natureza mais orientada para documentos do Couchbase Server 2.0. Por isso, decidimos definir uma interface nova e mais moderna que modelasse melhor essas características.

Juntamente com esse esforço para renovar a interface geral do SDK, o SDK do PHP precisava de um pouco de amor e atenção e, portanto, começamos a trabalhar na renovação do próprio SDK do PHP. Isso acabou consistindo em uma reescrita completa a partir do zero e, com isso, agora tenho o prazer de repassá-lo aos desenvolvedores para tentar receber algum feedback.

Novos recursos

A API

Devido às raízes antigas do PHP SDK anterior, infelizmente havia muitas complexidades no comportamento de várias funções, como ordenação estranha de parâmetros, opções inconsistentes entre funções semelhantes e duplicação de comportamento. Agora implementamos uma interface uniforme. Aqui estão alguns exemplos rápidos das novas APIs.

Abrir um balde:

$cb = new CouchbaseCluster();
$db = $cb->openBucket('default');

Inserir um documento:

$db->insert('test_key', 'some value');

Recuperação de um documento (não que o resultado da operação seja um objeto Result, com o valor do documento armazenado na propriedade value):

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

O tratamento de erros agora também é consistente e confiável em todas as chamadas de API.

    tente {
        $result = $db->get('test_key');
    } catch (Exception $e) {
        // Objeto de exceção com propriedades de mensagem e código.
    }

Suporte a transcodificador

Também adicionamos suporte completo ao transcodificador, permitindo que você forneça estratégias personalizadas de serialização e desserialização para quaisquer tipos não padrão que esteja usando em seu ambiente.

Para ver alguns exemplos disso, dê uma olhada no exemplo dos transcodificadores (https://github.com/couchbaselabs/php-couchbase/blob/master/examples/transcoders/index.php) ou, como alternativa, dê uma olhada na classe wrapper Couchbase.class.php (na raiz do código-fonte), onde você encontrará os transcodificadores padrão da biblioteca.

Documentação

A documentação que descreve a API completa está disponível para consulta aqui:

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

Obter

Se você estiver em um sistema Linux, para instalar a versão de visualização do desenvolvedor da biblioteca, basta pegar o código-fonte vinculado abaixo, compilar e instalar:

phpize
./configure -enable-couchbase
fazer && fazer instalação

Se estiver em um sistema Windows, você pode optar por fazer o download do tarball e compilar o código-fonte por conta própria. Ou, como alternativa, há links para os tipos de compilação populares abaixo também.

Construir Baixar
Código-fonte 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

OBSERVAÇÃO: você DEVE ter a libcouchbase instalada antes da instalação da extensão php.

Se você encontrar algum problema, envie uma mensagem diretamente para o site das comunidades do Couchbase em http://www.couchbase.com/communities/php. Além disso, os bugs podem ser relatados diretamente em nosso rastreador de problemas disponível aqui: https://www.couchbase.com/issues/browse/PCBC

Espero que você goste!

Saúde! Brett

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Brett Lawson, engenheiro de software principal, Couchbase

Brett Lawson é engenheiro de software principal da Couchbase. Brett é responsável pelo projeto e desenvolvimento dos clientes Node.js e PHP do Couchbase, além de desempenhar um papel no projeto e desenvolvimento da biblioteca C, libcouchbase.

2 Comentários

  1. O SDK 2.0 oferece suporte a um pooling de conexões melhor para o php-fpm? Por exemplo, o pooling de conexões agora é gerenciado pela biblioteca C?

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.