Коя XML-RPC библиотека?

Има поне две реализации на XML-RPC за PHP. Кое е най-доброто и защо?

  1. Използвах този базиран на работата на Ед Дъмбил в книгата за медузите на О'Райли, но го намирам изключително неудобно и многословно и много трудно за отстраняване на грешки.
  2. Версията вградена в PHP изглежда малко по-чиста, но съдържа предупреждения, че разширението е експериментално.

Вашият любим? Различен?


person Doug Kaye    schedule 03.08.2010    source източник
comment
Експерименталното предупреждение най-вече просто означава, че ако надстроите вашата PHP версия, може да се наложи да актуализирате и кода си (за разлика от това, че е обратно съвместим).   -  person Amber    schedule 03.08.2010


Отговори (2)


XML-RPC е най-вече за маршалинг на данни, така че разликите в производителността между родното PHP разширение и чистите PHP реализации са незначителни. Вграденият PHP обаче е само за кодиране на данни, така че имате нужда от API за добавка, за да изпращате RPC извиквания.

Библиотеката UsefulIncs xmlrpc беше тази, податлива на eval експлойти. Така че бих избегнал това, независимо от това как изглежда днес. По-добре използвайте собствените функции на PHP xmlrpc_* и забравете за експерименталния таг.

Алтернатива биха били функциите XmlRpc на Zend Frameworks, които са чисти PHP код и прекалено подробен, но изпитан във времето. Лично аз някога имах персонализирана XML-RPC библиотека, която също изпълняваше Content-Encoding и други, но днес бих използвал ZendFrameworks, HordeFramework или PEARs XMLRPC2. (Но се радвам, че в днешно време можем да използваме предимно JSON.)

person mario    schedule 03.08.2010

Вградената версия (xmlrpc-epi) работи. Има някои интересни грешки в по-старите версии на PHP, но би трябвало да сте добре от PHP 5.3.2. Написах наистина проста библиотека, наречена Ripcord, която използва вградената версия, но заобикаля най-досадните грешки в по-старите версии на PHP. Вижте http://ripcord.googlecode.com/

person Auke    schedule 16.11.2010