2010-08-03 13 views
5

Es gibt mindestens zwei Implementierungen von XML-RPC für PHP. Welches ist das Beste und warum?Welche XML-RPC-Bibliothek?

  1. Ich war ein based on Edd Dumbill's work in dem O'Reilly Qualle Buch, aber ich finde es außerordentlich umständlich und ausführlich und sehr schwer zu debuggen.
  2. Die Version built into PHP sieht etwas sauberer aus, enthält jedoch Warnungen, dass die Erweiterung experimentell ist.

Ihr Favorit? Ein anderer?

+0

Die experimentelle Warnung bedeutet meist nur, dass Sie Ihren Code aktualisieren müssen, wenn Sie Ihre PHP-Version aktualisieren (im Gegensatz zu rückwärts kompatibel). – Amber

Antwort

2

Bei XML-RPC geht es hauptsächlich um das Marshalling von Daten. Daher sind die Leistungsunterschiede zwischen der nativen PHP-Erweiterung und reinen PHP-Implementierungen vernachlässigbar. Die integrierte PHP-Funktion besteht jedoch nur darin, Daten zu codieren. Daher benötigen Sie eine Add-On-API, um RPC-Aufrufe zu senden.

UsefulIncs Die xmlrpc-Bibliothek war anfällig für Eval-Exploits. Also würde ich das meiden, egal wie es heute aussieht. Verwenden Sie besser die nativen PHP xmlrpc_ * -Funktionen und vergessen Sie das experimentelle Tag.

Eine Alternative wäre Zend Frameworks XmlRpc Funktionen, die reinen PHP-Code und übermäßig ausführlich sind, aber Zeit getestet. Persönlich hatte ich einmal eine benutzerdefinierte XML-RPC-Bibliothek, die auch Content-Encoding und andere ausführte, aber heute würde ich ZendFrameworks, HordeFramework oder PEARs verwenden XMLRPC2. (Aber ich bin froh, dass wir JSON heutzutage meistens verwenden können.)

1

Die integrierte Version (xmlrpc-epi) funktioniert. Es hat einige interessante Bugs in älteren Versionen von PHP, aber Sie sollten in Ordnung sein von PHP 5.3.2. Ich habe eine wirklich einfache Bibliothek namens Ripcord geschrieben, die die eingebaute Version verwendet, aber die nervigsten Bugs in älteren PHP-Versionen umgeht. Siehe http://ripcord.googlecode.com/

+0

ist es solide und bereit für die Produktion? – Volatil3