Какая библиотека 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_* и забудьте об экспериментальном теге.

Альтернативой могут быть функции Zend Frameworks XmlRpc, которые являются чистыми 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