PHP

Vista previa para desarrolladores del SDK de PHP 2.0.0

Durante los últimos meses, el equipo de desarrollo del SDK ha estado trabajando en la definición de una nueva interfaz para interactuar con los SDKs, llamada SDK 2.0 (no directamente relacionada con PHP SDK 2.0.0 que simplemente implementa una gran parte de esa especificación). Los SDKs existentes estaban todos diseñados alrededor de interfaces existentes que estaban dirigidas hacia el proyecto memcached, y como tales estaban muy orientados a caché y ya no reflejaban efectivamente la naturaleza más orientada a documentos de Couchbase Server 2.0. Como tal, nos propusimos definir una interfaz nueva y más moderna que modelara mejor esos rasgos.

Junto con este esfuerzo por renovar la interfaz general del SDK, el SDK de PHP necesitaba algo de amor y atención, así que nos pusimos a trabajar en la renovación del propio SDK de PHP. Esto terminó consistiendo en una reescritura completa desde cero, y con esto ahora estoy feliz de pasar esto a los desarrolladores para tratar de recibir algunos comentarios.

Novedades

La API

Debido a las antiguas raíces del anterior SDK de PHP, desafortunadamente había una gran cantidad de complejidades con el comportamiento de varias funciones, tales como ordenamiento extraño de parámetros, opciones inconsistentes entre funciones similares y duplicación de comportamiento. Ahora implementamos una interfaz uniforme, aquí hay un par de ejemplos rápidos de las nuevas APIs.

Abriendo un cubo:

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

Inserta un documento:

$db->insert('clave_prueba', 'algún valor');

Recuperar un documento (no que el resultado de la operación sea un objeto Resultado, con el valor del documento almacenado en la propiedad valor):

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

La gestión de errores también es ahora coherente y fiable en todas las llamadas a la API.

    intentar {
        $result = $db->get('clave_prueba');
    } catch (Exception $e) {
        // Objeto de excepción con propiedades mensaje,código.
    }

Transcodificador

También hemos añadido soporte completo para transcodificadores, lo que le permite proporcionar estrategias de serialización y deserialización personalizadas para cualquier tipo no estándar que esté utilizando en su entorno.

Para ver algunos ejemplos de esto, eche un vistazo al ejemplo de transcodificadores (https://github.com/couchbaselabs/php-couchbase/blob/master/examples/transcoders/index.php), o alternativamente echa un vistazo a la clase envolvente Couchbase.class.php (en la raíz de la fuente) donde encontrarás los transcodificadores por defecto de la librería.

Documentación

La documentación que describe la API completa puede consultarse aquí:

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

Consíguelo

Si utilizas un sistema Linux, para instalar la versión preliminar para desarrolladores de la biblioteca, sólo tienes que descargar el código fuente enlazado a continuación, compilarlo e instalarlo:

phpize
./configure -enable-couchbase
escriba a && hacer instalación

Si utiliza un sistema Windows, puede descargar el archivo tar y compilar el código fuente usted mismo. O, alternativamente, también hay enlaces a los tipos de compilación más populares a continuación.

Construya Descargar
Código fuente 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

NOTA: Usted DEBE tener libcouchbase instalado antes de la instalación de la extensión php.

Si tiene algún problema, envíe un mensaje directamente al sitio de Comunidades Couchbase en https://www.couchbase.com/communities/php. Además, los errores pueden notificarse directamente a través de nuestro gestor de incidencias disponible aquí: https://www.couchbase.com/issues/browse/PCBC

Espero que lo disfrute.

Salud Brett

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Author

Posted by Brett Lawson

Brett Lawson es Ingeniero de Software Principal en Couchbase. Brett es responsable del diseño y desarrollo de los clientes Node.js y PHP de Couchbase, además de participar en el diseño y desarrollo de la biblioteca C, libcouchbase.

2 Comentarios

  1. ¿soporta el SDK 2.0 una mejor agrupación de conexiones para php-fpm? por ejemplo, ¿se gestiona ahora la agrupación de conexiones mediante la biblioteca C?

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.