2010-08-03 21 views
5

Existen al menos dos implementaciones de XML-RPC para PHP. ¿Cuál es el mejor y por qué?¿Qué biblioteca XML-RPC?

  1. He estado usando el based on Edd Dumbill's work en el libro medusas O'Reilly, pero me resulta extraordinariamente difícil y prolija y muy difíciles de depurar.
  2. La versión built into PHP parece un poco más limpia, pero contiene advertencias de que la extensión es experimental.

¿Tu favorito? Una diferente?

+0

La advertencia experimental en su mayoría simplemente significa que si actualiza su versión de PHP, es posible que necesite actualizar su código también (en lugar de que sea compatible con versiones anteriores). – Amber

Respuesta

2

XML-RPC se trata principalmente de recopilar datos, por lo que las diferencias de rendimiento entre la extensión PHP nativa y las implementaciones puras de PHP son insignificantes. Sin embargo, el built-in de PHP solo trata de codificar datos, por lo que necesita una API complementaria para enviar realmente llamadas RPC.

Biblioteca de útiles de xmlrpc de UsefulIncs era el susceptible para exploits eval. Así que evité eso sin importar lo que parece hoy. Mejor utilice las funciones PHP xmlrpc_ * nativas y olvídese de la etiqueta experimental.

Una alternativa sería Zend Frameworks XmlRpc funciones, que son código PHP puro y excesivamente detallado, pero probado en el tiempo. Personalmente, una vez tuve una lib de XML-RPC personalizada que también realizaba Content-Encoding et al, pero hoy utilizaría ZendFrameworks, HordeFramework o PEARs XMLRPC2. (Pero estoy contento de que podamos usar principalmente JSON hoy en día.)

1

La versión incorporada (xmlrpc-epi) funciona. Tiene algunos errores interesantes en las versiones anteriores de PHP, pero debería estar bien a partir de PHP 5.3.2. Escribí una biblioteca muy simple, llamada Ripcord, que usa la versión integrada, pero funciona alrededor de los errores más molestos en versiones anteriores de PHP. Ver http://ripcord.googlecode.com/

+0

¿es sólido y está listo para usar en producción? – Volatil3

Cuestiones relacionadas